Match ends, Queens Park Rangers 2, Rotherham United 1.
Rotherham's record run without an away win stretched to 30 games after Queens Park Rangers' comeback victory helped them out of the Championship drop zone.
Tom Eaves gave the visitors a shock early lead at Loftus Road, which remained intact until after half-time.
Paul Smyth levelled, before Chris Willock netted the winner in a crucial game in the Championship relegation battle.
A third successive helps QPR leapfrog Stoke, who drop into the bottom three.
Eaves opened the scoring with his second goal in as many games after just seven minutes, finishing well after being played in by Sam Nombe's flick-on.
Moments later, QPR almost restored parity but Millers goalkeeper Viktor Johansson made a strong save to deny Michael Frey, whose header was goalbound.
With the half-hour mark looming, Johansson kept Rotherham ahead with another save. This time, he was equal to Steve Cook's header from Ilias Chair's cross.
The home side's pressure just was not telling, despite a 66% share of possession and five shots on target before the break.
It took just over 15 minutes after the restart, but QPR finally hit back. Smyth, a half-time change, latched on to Willock's through ball to finish emphatically past Johansson.
There was no time to settle for Rotherham, as they narrowly avoided going behind minutes later. First, Johansson denied Chair, before Jimmy Dunne headed wide.
Willock completed the turnaround 15 minutes from time, though. His powerful strike gave Johansson, who had thwarted Rangers throughout, no chance.
The Millers are now 16 points from safety with 12 games remaining, and facing the reality of a return to League One.
QPR head coach Marti Cifuentes told BBC Radio London:
"We knew it would be a difficult game. It is a relegation battle, we saw against Ipswich, Rotherham were battling until the last minute and they had a good performance.
"We didn't start well and conceded, but credit to the guys. We deserved the win in the second half. At this stage of the season, it will be moments in games that decide them.
"The season is a marathon, I know everyone suffers when you are down there; today we need to enjoy, but we need to be humble and keep working."
Rotherham boss Leam Richardson speaking to BBC Radio Sheffield:
"We have a horrible habit of going ahead and competing then fine margins tip the other way. We need to stay consistent, our levels need to be better.
"We could have gone 2-0 up and taken the game to them, but credit to QPR for the victory. We'll keep going and won't shirk.
"There is still belief and hunger, we won't give up. We want to turn performances into results. You work for your luck; we've got 12 games, we need to win games and stay competitive."
Line-ups
QPR
Formation 4-2-3-1
- 1Begovic
- 3Dunne
- 5S Cook
- 6Clarke-Salter
- 22PaalSubstituted forLarkecheat 83'minutes
- 14HaydenBooked at 33minsSubstituted forFieldat 45'minutes
- 4ColbackBooked at 54mins
- 7Willock
- 16HodgeBooked at 42minsSubstituted forSmythat 45'minutesBooked at 90mins
- 10ChairSubstituted forAndersenat 90+2'minutes
- 12FreySubstituted forDykesat 84'minutes
Substitutes
- 8Field
- 9Dykes
- 11Smyth
- 13Archer
- 15Fox
- 20Cannon
- 21Larkeche
- 25Andersen
- 30Armstrong
Rotherham
Formation 3-1-4-2
- 1Johansson
- 22Odoffin
- 23Morrison
- 24HumphreysBooked at 38minsSubstituted forAppiahat 84'minutes
- 27Tiéhi
- 38SerikiSubstituted forRibeiro Diasat 56'minutes
- 12RinomhotaSubstituted forLindsayat 84'minutes
- 8Clucas
- 40Kioso
- 9EavesSubstituted forWykeat 78'minutes
- 29NombeSubstituted forHugillat 78'minutes
Substitutes
- 7Ribeiro Dias
- 10Hugill
- 14Wyke
- 16Lindsay
- 17Ferguson
- 21Peltier
- 26Phillips
- 30Appiah
- Referee:
- Matt Donohue
- Attendance:
- 16,351
Match Stats
- Possession
- Home65%
- Away35%
- Shots
- Home18
- Away14
- Shots on Target
- Home9
- Away4
- Corners
- Home9
- Away0
- Fouls
- Home9
- Away17
Live Text
Post update
Full Time
Second Half ends, Queens Park Rangers 2, Rotherham United 1.
Post update
Jack Colback (Queens Park Rangers) wins a free kick in the defensive half.
Post update
Foul by Christ Tiéhi (Rotherham United).
Post update
Paul Smyth (Queens Park Rangers) wins a free kick in the defensive half.
Post update
Foul by Cafú (Rotherham United).
Substitution
Substitution, Queens Park Rangers. Lucas Andersen replaces Ilias Chair.
Post update
Offside, Queens Park Rangers. Ilias Chair is caught offside.
Booking
Paul Smyth (Queens Park Rangers) is shown the yellow card.
Post update
Paul Smyth (Queens Park Rangers) wins a free kick in the defensive half.
Post update
Foul by Arvin Appiah (Rotherham United).
Post update
Foul by Jake Clarke-Salter (Queens Park Rangers).
Post update
Sam Clucas (Rotherham United) wins a free kick in the defensive half.
Post update
Corner, Queens Park Rangers. Conceded by Sam Clucas.
Substitution
Substitution, Rotherham United. Jamie Lindsay replaces Andy Rinomhota.
Substitution
Substitution, Rotherham United. Arvin Appiah replaces Cameron Humphreys.
Substitution
Substitution, Queens Park Rangers. Lyndon Dykes replaces Michael Frey.
Substitution
Substitution, Queens Park Rangers. Ziyad Larkeche replaces Kenneth Paal.
Post update
Kenneth Paal (Queens Park Rangers) wins a free kick on the left wing.
Post update
Foul by Christ Tiéhi (Rotherham United).
Comments
Join the conversation
From a Spurs Fan
But what a MASSIVE result for Rangers! Out of the bottom 3 for first time in absolutely bloody ages. Superb performance from Chrissy Willock, classy, classy player. Colback, Dunne, Smyth all superb. Rotherham hustled and bullied, but class prevailed. Big up Marti Cifuentes!!!
In his short time he was a joy and made John Chidozie a better player
Stan the Man a great talent ....RIP
RIP Stan Bowles
Seriously. Early season would have taken 10 games to muster that many.