Match ends, Queens Park Rangers 4, Bolton Wanderers 3.
Jay Emmanuel-Thomas curled in a 94th-minute winner against Bolton to end QPR's four game winless run.
Liam Feeney crossed for Gary Madine to head home the opener before adding a second, steering home the rebound after Robert Green saved from Darren Pratley.
Emmanuel-Thomas immediately pulled one back, with Leroy Fer then stabbing in an equaliser and Tjaronn Chery put QPR 3-2 up from the edge of the area.
Bolton's Wellington Silva levelled late on only for Emmanuel-Thomas to win it.
Victory lifts QPR to 11th in the table, while defeat coupled with other results sees Bolton slip into the relegation places.
Feeney was instrumental early on as Bolton struck twice in three minutes, with the midfielder first finding Madine to nod in his second goal in as many games before Feeney himself reacted fastest to pounce after Pratley's shot was spilled by Green.
QPR were quick to hit back, Emmanuel-Thomas meeting a cross from Chery to power his header home and mark his first league start for the club with a goal.
The hosts threatened to equalise through Nedum Onuoha and Gabriele Angella before Netherlands international Fer found the target at his second attempt just before the break.
After half-time Onuoha sent a header from a long throw wide of the post for the hosts before Chery found the top corner to make it 3-2 and Matt Phillips dragged a good chance to add a fourth off target.
Sandro tested Wanderers keeper Ben Amos before substitute Wellington beat Green at the other end, looking to have done enough to earn a share of the spoils before Emmanuel-Thomas completed his brace.
QPR boss Chris Ramsey said: "I'm not pleased with the way we defended and the three goals we gave away.
"Having said that, I think we showed some character and that's much-needed in this league.
"I wasn't too displeased with the way we attacked. But individual errors always cost you, but obviously we're very pleased to get the three points."
Bolton Wanderers manager Neil Lennon said: "It's not good enough. Defensively we allowed too many headers, didn't stop crosses and were slack with the ball.
"After going a goal down we created very good chances, scored a very good goal and then with 30 seconds left we can't see the game out - that's my frustration.
"Why we can't see the game out I don't know? We're mentally fragile I think. I'm fed up of talking about it."
- 20HenryBooked at 75mins
- 28TözsérBooked at 56mins
- 10FerSubstituted forGuimaraes Cordeiroat 76'minutes
- 8CheryBooked at 45mins
- 30Guimaraes Cordeiro
- 24PisanoSubstituted forWheaterat 45'minutes
- 21PratleySubstituted forSpearingat 64'minutes
- 12ClaytonSubstituted forWellingtonat 80'minutes
- Darren Drysdale
- Shots on Target
Second Half ends, Queens Park Rangers 4, Bolton Wanderers 3.
Goal! Queens Park Rangers 4, Bolton Wanderers 3. Jay Emmanuel-Thomas (Queens Park Rangers) right footed shot from outside the box to the bottom right corner. Assisted by Gabriele Angella with a headed pass.
Foul by Neil Danns (Bolton Wanderers).
Robert Green (Queens Park Rangers) wins a free kick in the defensive half.
Ben Amos (Bolton Wanderers) wins a free kick in the defensive half.
Foul by Matthew Phillips (Queens Park Rangers).
Foul by Gary Madine (Bolton Wanderers).
Gabriele Angella (Queens Park Rangers) wins a free kick in the defensive half.
Attempt missed. Gary Madine (Bolton Wanderers) left footed shot from outside the box misses to the right.
Foul by Dorian Dervite (Bolton Wanderers).
Tjaronn Chery (Queens Park Rangers) wins a free kick on the right wing.
Attempt blocked. Matthew Phillips (Queens Park Rangers) left footed shot from the centre of the box is blocked. Assisted by Grant Hall with a headed pass.
Foul by Jay Spearing (Bolton Wanderers).
Karl Henry (Queens Park Rangers) wins a free kick on the right wing.
Goal! Queens Park Rangers 3, Bolton Wanderers 3. Wellington (Bolton Wanderers) right footed shot from the centre of the box to the bottom right corner. Assisted by Dorian Dervite with a headed pass.
Wellington (Bolton Wanderers) wins a free kick on the left wing.
Foul by Sandro (Queens Park Rangers).
Corner, Queens Park Rangers. Conceded by Ben Amos.
Attempt saved. Sandro (Queens Park Rangers) right footed shot from outside the box is saved in the top left corner.