Match ends, Bristol City 1, Rotherham United 1.
Peter Odemwingie's second-half goal earned Bristol City a draw against fellow strugglers Rotherham.
Matt Derbyshire put the Millers ahead when he collected Richard Wood's pass and lobbed keeper Richard O'Donnell.
Lee Camp saved brilliantly from Robins defender Aiden Flint's header to keep the scores level before the break.
Odemwingie levelled with a powerful left-footed shot, before Camp made another good save from Odemwingie's late header to secure his side a point.
The result leaves Bristol City 20th in the table, seven points clear of the relegation zone, with Rotherham one point further back in 21st after extending their unbeaten run to seven games.
The Millers had won three straight league matches against the Robins, and looked on course for a fourth when Derbyshire's fine finish put them ahead,
Lee Johnson's side controlled possession throughout, with Flint unlucky not to equalise before the break on his 100th consecutive league start.
But the hosts were rewarded for their pressure when Scott Golbourne's cross fell for Odemwingie to fire in his second goal in four games, having failed to score in the league since May 2014 before moving to Ashton Gate.
Bristol City manager Lee Johnson:
"The crowd were brilliant, I asked them for it and they delivered so I thank them for that,
"It was always going to be difficult, it was a bit edgy, the referee probably didn't help he had a poor 15 minutes.
"Our players were getting frustrated, I was getting frustrated and the fans were getting frustrated.
"But we kept our composure, kept our structure and we were the side that looked like going on and win it in my opinion."
- 13GolbourneSubstituted forFreemanat 75'minutes
- 7SmithBooked at 21mins
- 27OdemwingieSubstituted forKodjiaat 80'minutes
- 27DerbyshireSubstituted forWardat 64'minutes
- Gavin Ward
- Shots on Target
Second Half ends, Bristol City 1, Rotherham United 1.
Jonathan Kodjia (Bristol City) wins a free kick on the right wing.
Foul by Richard Wood (Rotherham United).
Attempt missed. Jonathan Kodjia (Bristol City) header from the centre of the box misses to the left.
Attempt saved. Jonathan Kodjia (Bristol City) right footed shot from the left side of the box is saved in the bottom left corner. Assisted by Marlon Pack.
Luke Freeman (Bristol City) wins a free kick in the defensive half.
Foul by Greg Halford (Rotherham United).
Attempt missed. Richard Wood (Rotherham United) header from the centre of the box is too high. Assisted by Lee Frecklington.
Attempt blocked. Luke Freeman (Bristol City) left footed shot from outside the box is blocked.
Luke Freeman (Bristol City) wins a free kick on the left wing.
Foul by Stephen Kelly (Rotherham United).
Attempt missed. Danny Ward (Rotherham United) right footed shot from outside the box misses to the left. Assisted by Lee Frecklington.
Offside, Rotherham United. Stephen Kelly tries a through ball, but Danny Ward is caught offside.
Foul by Marlon Pack (Bristol City).
Greg Halford (Rotherham United) wins a free kick in the defensive half.
Attempt saved. Danny Ward (Rotherham United) right footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Grant Ward with a cross.
Aden Flint (Bristol City) wins a free kick in the defensive half.
Foul by Leon Best (Rotherham United).
Corner, Bristol City. Conceded by Lee Camp.