Match ends, Rotherham United 0, Coventry City 1.
Coventry City climbed six points clear of the Championship relegation zone with a vital win at fellow strugglers Rotherham.
Millers goalkeeper Viktor Johansson made superb saves to deny Liam Kelly and Tyler Walker, while home midfielder Lewis Wing smashed a shot against the post in an entertaining first half.
The Sky Blues took the lead when Leo Ostigard powered in a header that took a deflection on its way past Johansson.
Rotherham, who were playing their second game in 48 hours, could not really create anything in response and they are now four points behind 21st-placed Derby.
They have two games in hand on the Rams and that will be three by the time they host Birmingham on Sunday in what will be their fourth game in nine days.
However, boss Paul Warne will need to pick his players up after a night where they were second best for much of the game and failed to force visiting goalkeeper Ben Wilson into a save.
Norwegian defender Ostigard won it in the 70th minute when he met Matty James's chipped free-kick into the area and his downward header beat Johansson after taking a slight nick off Millers defender Wes Harding.
In truth Coventry, who picked up just their second away win of the season, should have gone in front long before they did. Johansson's second-minute save from Kelly's dipping 20-yard volley was stunning and his reaction stop to keep out Walker's header was also impressive.
Either side of those stops from the Leicester loanee, Matty Godden shot over after Johansson's initial save from a Callum O'Hare effort fell to him 10 yards out as Coventry put in a performance that belied the significance of the game.
Wing's thumping effort that came back off the post was a rare bright moment for the hosts, who competed well but lacked a cutting edge.
Mark Robins' men, who are now up to 18th, host sixth-placed Barnsley on Sunday, while the Millers could potentially be seven points from safety by the time they kick off against Blues on the same day.
Rotherham boss Paul Warne:
"I think we got what we deserved. Coventry were significantly better than us on the night.
"They started the game on the front foot and outfought us which I don't like to say. Viktor kept us in the game.
"We looked a bit jaded. I can have no complaints on the scoreline. We will try and pick them up and go again Sunday but it was a blow.
"We have to play these games. It's just unfortunate for us with the order they go in. I would have loved to have played this game with more rest."
Coventry boss Mark Robins:
"I think that is our best away performance of the season. It is really encouraging.
"To stand up against the physical threat Rotherham have and keep them to very little in terms of opportunities in front of your goal is different class.
"It was a great start to the game. Their keeper has made three worldies. I thought Matty James was absolutely magnificent. He ran it for us.
"It gives us a boost. It's huge and it gives us confidence. The level of performance was up there."
- 20IhiekweSubstituted forSadlierat 88'minutes
- 6WoodBooked at 90mins
- 22OlosundeSubstituted forGilesat 60'minutes
- 16LindsaySubstituted forOgbeneat 77'minutes
- 5WingBooked at 46mins
- 8WilesBooked at 56minsSubstituted forLadapoat 60'minutes
- 19HardingSubstituted forRobertsonat 77'minutes
- 29Da Costa
- 11O'HareSubstituted forHamerat 77'minutes
- 24GoddenSubstituted forGyökeresat 72'minutes
- 19WalkerSubstituted forBiamouat 72'minutesBooked at 86mins
- Jarred Gillett
- Shots on Target
Second Half ends, Rotherham United 0, Coventry City 1.
Offside, Coventry City. Kyle McFadzean tries a through ball, but Viktor Gyökeres is caught offside.
Lewis Wing (Rotherham United) wins a free kick on the left wing.
Foul by Viktor Gyökeres (Coventry City).
Richard Wood (Rotherham United) is shown the yellow card for a bad foul.
Foul by Richard Wood (Rotherham United).
Dominic Hyam (Coventry City) wins a free kick in the defensive half.
Hand ball by Matt Crooks (Rotherham United).
Offside, Coventry City. Dominic Hyam tries a through ball, but Maxime Biamou is caught offside.
Substitution, Rotherham United. Kieran Sadlier replaces Michael Ihiekwe.
Angus MacDonald (Rotherham United) wins a free kick in the defensive half.
Foul by Gustavo Hamer (Coventry City).
Maxime Biamou (Coventry City) is shown the yellow card for a bad foul.
Matt Crooks (Rotherham United) wins a free kick in the attacking half.
Foul by Maxime Biamou (Coventry City).
Attempt blocked. Viktor Gyökeres (Coventry City) left footed shot from the centre of the box is blocked. Assisted by Sam McCallum.
Foul by Kyle McFadzean (Coventry City).
Richard Wood (Rotherham United) wins a free kick in the defensive half.
Corner, Coventry City. Conceded by Viktor Johansson.