James Hayter made up for a second-half penalty miss to deny Bristol City victory and earn Doncaster Rovers their first point of the season.
Rovers fell behind before the interval when Albert Adomah created space in the penalty area and blasted the ball home.
Hayter missed a glorious opportunity to level when he fired wide from the spot after Cole Skuse felled Kyle Bennett.
But Hayter atoned by heading home the equaliser from Milan Lalkovic's excellent right-wing cross.
The home side, who had lost five of their six matches in all competitions so far this season, made a nervy start and City's Nicky Maynard went close with a rasping strike.
Doncaster settled soon enough and came close to an opener in the 24th minute when Richard Naylor connected with Giles Barnes' inswinging corner, but his header went over the bar.
Mustapha Dumbuya then tested visiting keeper David James with a long-distance shot, and the former England man also kept out a Hayter volley.
At the other end Adomah shot wide of Gary Woods' goal and the Robins went ahead on 45 minutes through Adomah.
Eleven minutes after the restart Hayter blasted his penalty strike wide but he redeemed himself 10 minutes later when he gleefully headed home.
Both sides had chances to win it late on, Lalkovic scooping the ball over the bar for Rovers and Reece Brown heading over while City's Jon Stead miskicked when well placed.