Match ends, Bristol City 2, Queens Park Rangers 1.
Bristol City earned back-to-back victories to stay four points clear of the Championship relegation zone with a win over QPR at Ashton Gate.
Marlon Pack put the hosts ahead in the 14th minute, smashing in the loose ball from 12 yards following a corner.
Jamie Paterson made it 2-0 in the 40th minute before Idrissa Sylla scored a consolation in injury time.
City started the game a place above the relegation zone but climb to 18th, just three points behind QPR in 16th.
City have now won four of their last six games, having previous triumphed just once in 17 league games before that run.
They have also won three successive home games for the first time since October and are seemingly timing their escape from relegation danger perfectly with four games remaining.
City were much the better team in the first half and deservedly led when Matty Taylor diverted a corner towards Pack who made no mistake with a fierce right-footed strike.
Taylor also set up the second, with his excellent through ball allowing Paterson to beat the offside trap and double the lead.
QPR improved significantly in the second half but Frank Fielding crucially produced a fine reflex save to deny Yeni N'Gbakoto moments after the break.
Ian Holloway's side did end a run of three away games without a goal, but Sylla's close-range finish was too late to affect the result.
Bristol City boss Lee Johnson:
"I thought the attitude of all my players was first class. We won the battles and deservedly took the points.
"Nothing is decided yet, but I know my team and I have a good feeling about where they are at the moment.
"Nothing is settled yet and we have a hugely important match at Blackburn on Monday.
"We will go there to win the game, even though a point would not be a bad outcome."
QPR manager Ian Holloway:
"I like my teams to represent my character and I have never gone down with a whimper in my life.
"Some of the things I saw in the second half were incredible. When you are 2-0 down and you get a free-kick surely you run to the ball and take it as quickly as possible.
"Twice we allowed City players to pick the ball up and walk backwards with it. One got booked for time-wasting and the other didn't, but where was the fight from my players?
"City didn't even have to work for their goals. We need another win to be safe and we have been trying to get it for four games now."
- 21PackBooked at 86mins
- 20PatersonSubstituted forTomlinat 88'minutes
- 9AbrahamSubstituted forWilbrahamat 76'minutes
- 12TaylorSubstituted forO'Dowdaat 77'minutes
- 29FurlongSubstituted forWashingtonat 45'minutes
- 21LuongoBooked at 45mins
- 41ManningBooked at 35mins
- 2FreemanBooked at 53mins
- 17SmithSubstituted forSyllaat 69'minutes
- 23N'GbakotoSubstituted forMackieat 71'minutesBooked at 90mins
- 28Lua Lua
- Jeremy Simpson
- Shots on Target
Second Half ends, Bristol City 2, Queens Park Rangers 1.
Goal! Bristol City 2, Queens Park Rangers 1. Idrissa Sylla (Queens Park Rangers) right footed shot from very close range to the centre of the goal. Assisted by Conor Washington.
Attempt blocked. Luke Freeman (Queens Park Rangers) right footed shot from outside the box is blocked. Assisted by Jamie Mackie.
Offside, Bristol City. Bailey Wright tries a through ball, but Aaron Wilbraham is caught offside.
Jamie Mackie (Queens Park Rangers) is shown the yellow card.
Attempt blocked. Joel Lynch (Queens Park Rangers) left footed shot from the right side of the box is blocked. Assisted by Luke Freeman.
Attempt blocked. Conor Washington (Queens Park Rangers) right footed shot from outside the box is blocked.
Attempt saved. Conor Washington (Queens Park Rangers) right footed shot from outside the box is saved in the bottom left corner. Assisted by Jamie Mackie.
Corner, Queens Park Rangers. Conceded by Josh Brownhill.
Substitution, Bristol City. Lee Tomlin replaces Jamie Paterson.
Marlon Pack (Bristol City) is shown the yellow card.
Massimo Luongo (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Callum O'Dowda (Bristol City).
Jamie Mackie (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Aden Flint (Bristol City).
Attempt missed. Luke Freeman (Queens Park Rangers) left footed shot from outside the box is too high from a direct free kick.
Idrissa Sylla (Queens Park Rangers) wins a free kick in the attacking half.
Foul by Bailey Wright (Bristol City).
Attempt missed. Josh Brownhill (Bristol City) right footed shot from the right side of the box is too high. Assisted by Korey Smith.