Match ends, Rotherham United 1, Norwich City 2.
Rotherham United 1-2 Norwich City: Kenny McLean & Ben Godfrey score for Canaries
Norwich City extended their gap at the top of the Championship to four points with a hard-fought victory at relegation-threatened Rotherham United.
The hosts impressed in the first half but fell behind when Kenny McLean hooked beyond onrushing Millers keeper Marek Rodak after a well-timed run.
Defender-turned-midfielder Semi Ajayi levelled for Rotherham, turning on the edge of the box and finding the bottom corner for his sixth goal in five games.
But Scotland midfielder McLean turned provider to seal it for Norwich, his corner headed back across goal and in by centre-back Ben Godfrey.
A sixth win in a row moves Daniel Farke's side five points clear of third-placed Leeds United, who were beaten by fellow title contenders Sheffield United earlier on Saturday.
Jerry Yates came closest to a second equaliser for the Yorkshire side but poked wide with his first touch after coming on, meaning Paul Warne's men stay 22nd and are now a point from safety despite only a second defeat in nine.
In-form Norwich playmaker Emi Buendia had an effort cleared off the line as the visitors pushed for a third, but in the end they were content to see out the result.
While the Canaries were unchanged for a sixth game running, Rotherham were without suspended pair Joe Mattock and Will Vaulks, as well as Ryan Williams - who withdrew after his girlfriend went into labour - leaving the Millers with six substitutes.
However, the home side gave as good as they got in the first half, Michael Smith heading their best chance off target, while Ajayi's purple patch in front of goal will give them hope in the run-in.
Rotherham manager Paul Warne:
"I thought the lads were excellent. If Norwich have their best day and we have our best day, we're always going to struggle because they are a formidable side.
"With eight games to go, if we can keep that level of performance up, we can have a great end to the season.
"Going a goal down before half-time, when we played well, was a bit of a hammer blow. It was disappointing to concede a set-piece. We should mark better than that, it's inexcusable. Overall the lads were virtually blemish-free."
Norwich head coach Daniel Farke:
"Tough games will still come and in the Championship the momentum can change quickly.
"We are handling spicy games and when we are in the spotlight. We have overachieved in the eyes of so many people so far. It's a good position to be in.
"We know we are in a brilliant position. It was important to protect our gap to West Brom and Middlesbrough. It's not already done but we have a big chance in the fight for automatic promotion."
- 20IhiekweBooked at 17mins
- 6WoodSubstituted forYatesat 83'minutes
- 28JonesBooked at 29mins
- 7FordeSubstituted forTaylorat 62'minutes
- 17CrooksSubstituted forTowellat 62'minutes
- 37AaronsBooked at 88mins
- 17BuendíaSubstituted forVrancicat 90+2'minutes
- 18StiepermannBooked at 64mins
- 25HernándezSubstituted forKloseat 90+1'minutes
- 22PukkiSubstituted forRhodesat 90'minutes
- Oliver Langford
- Shots on Target
Second Half ends, Rotherham United 1, Norwich City 2.
Corner, Norwich City. Conceded by Jon Taylor.
Corner, Rotherham United. Conceded by Timm Klose.
Substitution, Norwich City. Mario Vrancic replaces Emiliano Buendía.
Substitution, Norwich City. Timm Klose replaces Onel Hernández.
Attempt missed. Tom Trybull (Norwich City) right footed shot from very close range misses to the left. Assisted by Emiliano Buendía with a cross following a set piece situation.
Substitution, Norwich City. Jordan Rhodes replaces Teemu Pukki.
Emiliano Buendía (Norwich City) wins a free kick on the right wing.
Foul by Semi Ajayi (Rotherham United).
Maximillian Aarons (Norwich City) is shown the yellow card.
Foul by Emiliano Buendía (Norwich City).
Jerry Yates (Rotherham United) wins a free kick in the defensive half.
Attempt blocked. Emiliano Buendía (Norwich City) right footed shot from the centre of the box is blocked. Assisted by Teemu Pukki.
Substitution, Rotherham United. Jerry Yates replaces Richard Wood.
Foul by Kenny McLean (Norwich City).
Ben Wiles (Rotherham United) wins a free kick in the defensive half.
Christoph Zimmermann (Norwich City) wins a free kick in the defensive half.
Foul by Joe Newell (Rotherham United).
Attempt saved. Onel Hernández (Norwich City) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Emiliano Buendía.