Jack Clarke opened the scoring just before the hour mark when he cut in from the right and fired a shot into the top corner.
Tony Mowbray’s side appeared to be heading towards a third consecutive victory before Trai Hume brought down substitute Jay Dasilva in the box, allowing Nahki Wells to convert from the penalty spot.
1. Anthony Patterson - 6
Very little to do with Bristol City very poor in possession, but did his job with little fuss. 6 Photo: Frank Reid
2. Trai Hume - 6
Got away with one or two lapses in defence but also made a couple of good challenges and put in some good crosses as well. 6 Photo: Frank Reid
3. Dan Ballard - 7
Had a good game, dominant in his defensive duels and playing the ball out well to those in front of him. Bristol City rarely threatened in an admittedly fairly poor contest. 7 Photo: Frank Reid
4. Luke O’Nien - 7
Made one excellent block to keep his side level just before half time, dropping into to clear a goalbound effort from Twine off the line. Rarely troubled otherwise. 7 Photo: Frank Reid