An early own goal from Alex Tettey sent Middlesbrough top of the Championship to leave Norwich fretting over their own automatic promotion prospects.
After damaging back-to-back away defeats to fellow promotion hopefuls Bournemouth and Watford, Boro head coach Aitor Karanka said before the game that defeat at Carrow Road would have spelt the end of their top-two hopes.
However, they are now on course to end their six-year hiatus from the Premier League.
With Middlesbrough now top of the table it is hard to describe this victory as an upset, but Norwich had won 12 in 15 games, and went into the clash on a five-match winning streak.
Karanka’s side had the better of the first half and took the lead in the eighth minute as a vital touch from Tettey sent Grant Leadbitter’s corner into his own net.
Although Norwich manager Alex Neil saw the hosts dominate play after the interval, they still could not create a clear-cut chance and Middlesbrough went close to adding to their lead.
The first chance of the evening fell to Jelle Vossen as Patrick Bamford flicked on Albert Adomah’s cross, but the Belgian could only angle a shot over John Ruddy’s crossbar. The visitors had settled the quickest and carved Norwich open again soon after, but this time Sebastien Bassong was on hand to cut out Bamford’s cross – with Vossen free in the area.
Middlesbrough got the goal their early endeavours deserved as Leadbitter’s resulting corner came off the back of the unwitting Tettey and beat Ruddy at his back post with Adomah unable to get a touch in time to claim the goal for himself.
Jonny Howson passed up a great chance to equalise when he glanced a header wide when picked out in the middle of the penalty area.
Norwich City: Ruddy, Whittaker, Martin, Bassong, Olsson, Howson, Tettey, Dorrans (Grabban 62), Johnson (Hooper 78), Hoolahan (Redmond 78), Jerome. Unused substitutes: Ryan Bennett, Rudd, O’Neil, Odjidja-Ofoe.
Middlesbrough: Konstantopoulos, Kalas, Ayala, Gibson, Friend, Clayton, Leadbitter, Adomah, Vossen (Forshaw 60), Tomlin (Amorebieta 90), Bamford (Garcia 85). Unused substitutes: Ripley, Whitehead, Reach, Nsue.
Referee: R Madley (West Yorkshire).