Championship Wrap: Hooper hero for Norwich
Bolton Wanderers had looked on course to deliver a blow to Norwich's promotion hopes at the Macron Stadium, but substitute Gary Hooper netted a 92nd-minute winner as Alex Neil's side won 2-1 to remain in second place.
Hooper latched onto a Cameron Jerome flick before lobbing Adam Bogdan to give Norwich a fourth win in a row and ensure the gap at the top remains at just one point.
Watford are level with Norwich on 79 points after a more regulation 2-0 victory over relegation-threatened Millwall at the New Den, Matej Vydra and the influential Adlene Guedioura on target to leave their hosts seven points from safety.
A tight first half at the Riverside saw fourth-placed Middlesbrough held by Rotherham United. However, once the deadlock was broken by Michael Tomlin after 50 minutes, Boro never looked back.
Patrick Bamford added a second just after the hour, but he was unable to add further gloss to their win as Damian Martinez saved a late penalty from the on–loan striker.
Derby County and Ipswich Town complete the top six after the former rescued a 1-1 draw with Brentford thanks to Darren Bent's late strike, while Mick McCarthy's side survived a scare against relegated Blackpool to win 3-2.
The battle for a play-off place stretches as far as eighth, although Wolves – like Brentford – failed to win, Kenny Jackett's side suffering a surprise 2-1 loss at Birmingham City.
Rob Kiernan and Demarai Gray completed the comeback for Gary Rowett's men after Benik Afobe had scored his 11th goal since joining the club in January.
That win secured Birmingham's place in the Championship for another season, while Huddersfield Town are on the verge of doing the same after their 1-0 triumph at Nottingham Forest.
Aron Gunnarsson gave Cardiff City a 2-1 win over Leeds United at Elland Road, the visitors giving a performance their fans would have been proud of had they not boycotted the game after ticket allocation issues.
Charlton Athletic came from behind as they earned a 1-1 draw at Sheffield Wednesday, while Reading and Blackburn Rovers played out a goalless stalemate.