Sunderland were made to fight all the way in this 142nd Tees-Wear derby before triumphing 2-1 thanks to a goal in the second-half of injury time ended brave Middlesbroughâ€™s resistance.
Sunderland will now host Arsenal in the fifth round of the FA Cup courtesy of strikes by Jack Colback and Stephane Sessegnon after Lukas Jutkiewicz had opened his account for the Championship outfit with an equaliser.
The visitorâ€™s had the better of a scrappy first half and always looked the more threatening but had to wait until just before the interval before taking the lead through a cracking shot from Jack Colback who latched on to a Fraizer Campbell knock-down to hammer home via the underside of the crossbar.
The Black Cats continued to look comfortable as the second half opened, but with their first meaningful attack the home side levelled.
Main headed the ball back into the danger area and Michael Turner allowed Lukas Jutkiewicz to get goal-side of him and drive the ball low into goal from fifteen yards.
The game became more even as the young Boro side began to stretch their Premiership opponents but it was Sunderland who came closest to breaking the deadlock when Phil Bardsley fired against the post.
Extra time came and with seven minutes remaining before penalties would be needed Stephane Sessegnon drove at the hostâ€™s defence benefited from a fortunate bounce of team-mate Connor Wickham before applying the finish through a crowd of players to the delirium of the watching Sunderland fans.
For Middlesbrough they can take a lot of positives from this performance and take it forward to their drive for promotion from the Championship.
The Black Cats have now won nine, drawn two and lost two of the 13 matches under new boss Martin O'Neill, who continues to enjoy success on Wearside.
Referee: Anthony Taylor
TRIBAL ASKS: Any chance or persuading Martin Oâ€™Neill to take the England job!?