Adam Drury scored an injury-time equaliser as Norwich completed a remarkable comeback at Carrow Road.
Damien Francis prodded home for Norwich before Jimmy Floyd Hasselbaink got his first from 18 yards out.
Franck Queudrue headed home before bagging his second from close range and Hasselbaink's superb free-kick made it 4-1 before Dean Ashton stabbed in.
Leon McKenzie headed in on full-time before Drury sealed the fightback with a header with seconds remaining.
The visitors settled quickly, keeping the ball for long periods and making life uncomfortable for the Norwich defence.
After seven minutes Doriva volleyed just wide and a minute later Michael Reiziger released Stewart Downing who had his shot blocked by Robert Green.
On 10 minutes, some neat interplay between Hasselbaink and Joseph-Desire Job ended with Hasselbaink dragging the ball past Green's left-hand post.
It was Ashton who woke Norwich from their slumber, volleying just wide from a Drury cross on 13 minutes.
And five minutes later Norwich broke the deadlock, Francis turning in a Darren Huckerby shot while the Boro defence appealed for offside.
On 21 minutes, the lively Ashton was brought down by Queudrue and the Boro defender was lucky to escape with a yellow card.
At the other end Hasselbaink was looking frustrated, more so when he tamely passed a shot to Green from a Reiziger through-ball.
But on 34 minutes Hasselbaink scored his 10th of the season to bring Boro level, sticking out a right toe to divert a Downing drive past Green.
Just before half-time Doriva again shot just wide before Huckerby sliced a half-volley past Schwarzer's left-hand upright from a Norwich break.
Then on the stroke of half-time Green was called into action again, fielding well from a Job overhead.
Boro started the second half with real intent, a long-range shot from Bolo Zenden catching Francis' boot and looping over the crossbar soon after the restart.
Franck Queudrue scored two for Boro
And from the resulting Downing corner, Queudrue ghosted in at the near post to head Boro ahead.
On 56 minutes Queudrue was on target again, Gareth Southgate flicking on another Downing corner for the Frenchman to convert.
But Norwich continued to plug away and after 63 minutes Ashton made life uncomfortable for Schwarzer with a daisy-cutter from distance.
A Hasselbaink header was deflected over on 70 minutes, while five minutes later Norwich's Leon McKenzie grazed Schwarzer's bar with a cross-shot.
But with 12 minutes remaining Hasselbaink looked to have sealed things for Boro, bending a delightful free-kick over the wall and into the corner of the net.
However, Norwich were not finished, home debutant Ashton latching on to a Huckerby centre to score with 10 minutes remaining.
McKenzie then headed past Schwarzer from a Huckerby pass on the stroke of full-time to give Norwich hope.
And club captain Drury scored the unlikely equaliser three minutes into added time, converting Huckerby's inswinging corner to save his side from a fourth-successive defeat.
Norwich: Green, Edworthy, Doherty, Fleming, Drury, Jonson (McVeigh 60), Mulryne (Holt 64), Francis, Brennan (McKenzie 59), Huckerby, Ashton.
Subs Not Used: Gallacher, Jarvis.
Goals: Francis 18, Ashton 80, Drury 90, McKenzie 90.
Middlesbrough: Schwarzer, McMahon, Reiziger, Southgate, Queudrue, Parlour, Doriva (Morrison 45), Zenden, Downing, Job (Graham 74), Hasselbaink.
Subs Not Used: Nemeth, Nash, Cooper.
Booked: Queudrue, Parlour, McMahon.
Goals: Hasselbaink 34, Queudrue 49, 55, Hasselbaink 78.
Ref: M Messias (S Yorkshire).