Chopra (r) celebrates his second goal with Malbranque
Substitute Michael Chopra celebrated his first appearance of the season by scoring two late goals to give Sunderland victory in a frantic derby.
Chopra ran on to Kieran Richardson's through-ball and slid the ball past Ross Turnbull for the opener.
And he tapped home the second in injury-time to seal the win.
Middlesbrough were on top for much of the game but keeper Craig Gordon made several fine saves and Stewart Downing blasted a penalty over the bar.
Boro, who had not won an away game since beating Portsmouth in late December of last year, looked set to claim the victory they probably deserved when Nyron Nosworthy was penalised for bringing down Jeremie Aliadiere in the box with 16 minutes to go.
Referee Howard Webb's decision looked harsh but the home fans need not have worried as Downing blazed the spot-kick wildly over the bar.
And Boro, who had edged a dour first half short on both chances and excitement, were made to pay.
Afonso Alves, a last-minute replacement for Mido who was injured in the warm-up, showed flashes of quality and was involved in the best two chances of the opening period but on both occasions Gareth Southgate's side were denied by the imposing figure of Gordon.
Sunderland 'rode luck' - Keane
The first save saw Scotland's number one react superbly to block Downing's fiercely struck shot after an Alves free-kick hit the defensive wall.
And Gordon got his angles spot on to save from Alves after a fine Boro breakaway saw Adam Johnson send the Brazilian through one-on-one.
Roy Keane's side settled after a nervy opening half-hour and the pacy but erratic front pairing of El-Hadji Diouf and Djibril Cisse began to ask questions of the visitors' defence.
But a fine 50-yard run and a blocked shot aside, Cisse rarely got near enough to the Boro goal to threaten.
Southgate frustrated by derby defeat
Boro were more composed on the ball and David Wheater also scooped a shot wide from an early corner and Aliadiere shot straight at Gordon after a nifty turn in the box.
And Boro continued to create the better of the few chances on offer in a tense Wear-Tees derby after the break.
Alves again drew a fine save from Gordon, this time forcing the big keeper to scramble across his goal and push the striker's deflected effort wide.
At the other end Boro keeper Turnbull almost gifted Cisse a goal when he dropped the ball, but the French striker's shot was cleared off the line by Robert Huth.
Downing then missed from the spot and the Black Cats took full advantage.
Chopra thanks supportive Keane
Within 10 minutes, Chopra, a late first-half replacement for the injured Teemu Tainio, came off the bench to fire the home side ahead following a superb pass from Richardson.
Chopra has only just returned to the Sunderland squad after a spell in the Sporting Chance clinic dealing with personal problems.
But he looked sharp on his return to action and with the visitors storming forward Chopra sealed Sunderland's first home win of the season in time added on when he tapped home after unselfish play from Steed Malbranque.
Sunderland boss Roy Keane on Michael Chopra's off-field problems "I have been there before. I had a lifestyle that was very questionable, and hopefully he can learn from my mistakes, otherwise he's heading for trouble.
"It's good to see him back. It was touch and go whether he was going to be involved but we had a practice match yesterday - the game was 3-1 and Chops scored three, so there you go.
"It was probably written for Chops today. He has been a big player for me, Chops, people forget that. "He scored some important goals for us last year, and today he took his opportunity.
"He has a dead leg - but when you have scored a couple of goals, I am sure it won't be anywhere near as sore as if we had been beaten."
Middlesbrough manager Gareth Southgate on Stewart Downing's penalty miss: "He is exactly the same as the others in that they are all devastated to lose a derby game.
"Obviously he will replay that in his mind hundreds and hundreds of times over the weekend, so it is going to hurt him more than everybody else in the long run. But he is well in credit with us as a club. He has won us so many matches through his goals, through his assists.
"I have just said to them in there, we lose as a team. Yes, that moment might have swung the game because the whole emotion in the stadium changed then.
"But the kid has been fantastic for us for a number of years now. He is a joy to work with, as they all are, and we have got to pick him up and make sure he realises how important he is to us."
Middlesbrough: Turnbull, Wheater, Huth, Pogatetz, Taylor, Aliadiere, O'Neil, Digard (Shawky 68), Downing, Adam Johnson (Hoyte 68), Alves. Subs Not Used: Jones, Riggott, Arca, Walker.
Booked: O'Neil, Shawky, Huth.
Ref: Howard Webb (S Yorkshire).
BBC Sport Player Rater man of the match: Sunderland's Craig Gordon 7.72 (on 90 minutes). Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.