Teemu Pukki emerged from the bench to hit the winner to lift Norwich top of the Sky Bet Championship with a 1-0 win at Middlesbrough.
It was a tale of two second-half penalties at the Riverside Stadium, where Boro's 10-match unbeaten run came to an end.
Middlesbrough had the first chance to take the lead from the spot early in the second half. But Marcus Tavernier's costly slip when taking it, leading to a double touch, meant the opener was ruled out.
However, Norwich striker Pukki made no mistake with 18 minutes remaining when he rolled into the bottom corner after Max Aarons was brought down by Hayden Coulson.
That was the first goal conceded by Boro in 452 minutes of football and Pukki's calmness was enough to extend the Canaries' unbeaten run to eight games.
Middlesbrough had the best opening of the first half when Norwich struggled to cause any real problems for Marcus Bettinelli in the home goal.
That was largely because when the visitors, who started with Teessider Jordan Hugill in attack, did push on they found a Middlesbrough defence too strong with Dael Fry excellent at the heart of it.
The nearest Norwich came to scoring was early on when Emiliano Buendia curled an effort from 22 yards just wide of Bettinelli's right hand post.
There was also a Lukas Rupp effort that was wayward following a decent run inside, while Fry made an excellent block to deny Przemyslaw Placheta.
Aside from those it tended to be Middlesbrough doing the early pressing, even though Norwich goalkeeper Tim Krul was hardly seriously tested either.
Former Boro defender Ben Gibson, back at the Riverside for the first time since leaving for Burnley in 2018, made a crucial block from a dangerous Djed Spence delivery just before the half hour.
After that there was a routine catch for Krul from a Jonny Howson header and another strong low stop by the Dutchman when Marvin Johnson drilled low from space 20 yards from goal.
The only other real talking point of that half was when Johnson was lucky to escape punishment for kicking out at Buendia, as the two tussled off the ball. Neither was booked.
Referee Tony Harrington was in the thick of things soon after the break too when he pointed to the spot after Gibson tripped Tavernier.
But the Boro man's slip as he took the penalty resulted in the illegal double touch. Norwich were awarded a free-kick despite the ball ending in the net.
The Canaries looked more dangerous after that. Buendia went close a couple of times and substitute Pukki shaved the side-netting before Warnock introduced young wingers Coulson and Sam Folarin.
With 18 minutes left Coulson tripped Aarons in the area and Norwich had their chance from the spot. Pukki, unlike Tavernier, found the net without complication for his fifth goal of the season, sending Bettinelli the wrong way.
Neither goalkeeper was posed many questions after that and Norwich did the job to secure the points.