Middlesbrough fought back from 2-0 down to draw at mid-table Bristol City and keep alive their faint hopes of automatic promotion to the Premier League.
Sam Bell's calm finish put the Robins ahead in first-half stoppage time and Harry Cornick tapped in to double the lead three minutes after the restart.
But Boro pulled one back in the 58th minute when Aaron Ramsey emphatically headed in Tommy Smith's cross, and Ramsey then picked out Matt Crooks in the box to equalise six minutes later.
Both sides almost grabbed a late winner, but home defender Zak Vyner could only divert a free-kick onto the top of the crossbar from three yards out and Boro substitute Cameron Archer had a stoppage-time goal ruled out for offside.