Match ends, Leeds United 1, Bristol City 0.
Leeds United 1-0 Bristol City
Souleymane Doukara scored the only goal as Leeds stretched their unbeaten home run to six matches with victory over struggling Bristol City.
The French striker struck his third goal in four games midway through the second half to condemn the Robins to a fourth defeat in five games.
City's Jonathan Kodija was bright and had two good chances, but keeper Marco Silvestri kept him at bay.
Aden Flint missed a close-range header to leave City in the relegation places.
Leeds had won their last three league matches against the Robins at Elland Road but nearly went behind after 25 minutes.
Liam Bridcutt lost possession on his own goal-line and Nathan Baker forced Silvestri into a save with a powerful shot from a narrow angle.
Kodija was proving to be a handful for the Leeds defence and City's top scorer headed just wide before slipping past two defenders inside the penalty box and seeing his low shot blocked by Leeds' last line of defence.
The hosts went ahead when Stuart Dallas' low cross cannoned off substitute Chris Wood to Doukara, who fired the ball past goalkeeper Richard O'Donnell.
City should have equalised in the 79th minute, but Flint somehow contrived to head wide from six yards despite rising unchallenged.
Steve Evans' side held on to the whistle, with their only shot on target moving them up to 16th and ending a run of five league games without a win.
Leeds head coach Steve Evans:
"The first half was like going to the dentist. It wasn't pleasant and it was a long 45 minutes.
"It was a scrappy game. We were poor in quality all over the pitch in that first half - it was lazy and sloppy.
"I told them to find a moment of magic in the second half and they did that with Souleymane Doukara's goal.
"He is a player who needs to be loved and valued. He is getting the rewards for all the hard work he has put in."
Bristol City interim boss John Pemberton:
"The one Aden missed near the end he would have buried last year. I was expecting the net to ripple and I couldn't believe it when the ball went wide.
"We are disappointed with the scoreline because we didn't deserve to lose, but we can get out of the trouble we are in. We have a stronger foundation now and are looking harder to beat.
"We probably need a bit more experience in the middle of the park and a bit more composure with our final ball.
"I was at Leeds for four years so I know what it is like to play here. Some of my players were experiencing the mental test of playing at Elland Road for the first time."
- 5BellusciBooked at 41mins
- 21TaylorBooked at 18mins
- 8MurphySubstituted forAdeyemiat 90+1'minutesBooked at 90mins
- 23L Cook
- 18CarayolSubstituted forWoodat 54'minutes
- 11DoukaraSubstituted forAntenucciat 86'minutesBooked at 90mins
- 17BakerBooked at 23minsSubstituted forPearceat 45'minutes
- 21PackSubstituted forWilbrahamat 77'minutes
- 8GladwinSubstituted forReidat 61'minutes
- 22KodjiaBooked at 26mins
- Charles Breakspear
- Shots on Target
Second Half ends, Leeds United 1, Bristol City 0.
Corner, Leeds United. Conceded by Luke Freeman.
Tom Adeyemi (Leeds United) is shown the yellow card for a bad foul.
Foul by Tom Adeyemi (Leeds United).
Luke Ayling (Bristol City) wins a free kick in the defensive half.
Attempt blocked. Chris Wood (Leeds United) right footed shot from outside the box is blocked.
Substitution, Leeds United. Tom Adeyemi replaces Luke Murphy.
Mirco Antenucci (Leeds United) is shown the yellow card.
Foul by Stuart Dallas (Leeds United).
Korey Smith (Bristol City) wins a free kick in the defensive half.
Corner, Leeds United. Conceded by Wes Burns.
Substitution, Leeds United. Mirco Antenucci replaces Souleymane Doukara.
Liam Cooper (Leeds United) wins a free kick in the defensive half.
Foul by Aaron Wilbraham (Bristol City).
Attempt saved. Luke Ayling (Bristol City) left footed shot from the centre of the box is saved in the bottom right corner. Assisted by Aaron Wilbraham.
Corner, Leeds United. Conceded by Joe Bryan.
Luke Murphy (Leeds United) wins a free kick in the defensive half.
Foul by Bobby Reid (Bristol City).
Attempt blocked. Luke Freeman (Bristol City) left footed shot from outside the box is blocked. Assisted by Bobby Reid.
Attempt missed. Aden Flint (Bristol City) header from the centre of the box misses to the right. Assisted by Luke Freeman with a cross following a corner.
Corner, Bristol City. Conceded by Liam Cooper.
Attempt blocked. Jonathan Kodjia (Bristol City) right footed shot from a difficult angle on the right is blocked. Assisted by Luke Ayling.
Offside, Leeds United. Giuseppe Bellusci tries a through ball, but Souleymane Doukara is caught offside.
Substitution, Bristol City. Aaron Wilbraham replaces Marlon Pack.
Offside, Bristol City. Luke Ayling tries a through ball, but Jonathan Kodjia is caught offside.
Foul by Liam Bridcutt (Leeds United).
Jonathan Kodjia (Bristol City) wins a free kick in the defensive half.
Corner, Leeds United. Conceded by Alex Pearce.
Attempt blocked. Luke Murphy (Leeds United) right footed shot from outside the box is blocked. Assisted by Charlie Taylor.
Corner, Leeds United. Conceded by Joe Bryan.
Foul by Souleymane Doukara (Leeds United).
Wes Burns (Bristol City) wins a free kick in the defensive half.
Liam Bridcutt (Leeds United) wins a free kick on the right wing.
Foul by Jonathan Kodjia (Bristol City).
Offside, Leeds United. Liam Cooper tries a through ball, but Chris Wood is caught offside.
Offside, Bristol City. Alex Pearce tries a through ball, but Jonathan Kodjia is caught offside.
Attempt missed. Alex Pearce (Bristol City) header from the centre of the box is too high. Assisted by Marlon Pack with a cross following a corner.
Substitution, Bristol City. Bobby Reid replaces Ben Gladwin.
Corner, Bristol City. Conceded by Marco Silvestri.