Two injuries failed to stop Bristol City moving up to second in the League One table but it was a tight-run thing against an enterprising Doncaster Rovers side.
The Robins took control of the second half and only a virtuoso performance by Brazilian keeper Adriano Basso came between them and at least a draw.
With only 10 minutes gone City's Scott Brown limped out of their midfield clutching his left hamstring and was helped to the treatment room. An early gloomy forecast was that he could be out for a month.
Hardly had City recovered from this setback before another adjustment was needed to their midfield when Cole Skuse picked up an ankle injury.
Both injuries owed something to the pitch, left wet and skiddy by an all-day drizzle and Doncaster also suffered.
Sean McDaid was tempted by the conditions into a long sliding tackle on Basso.
Contact, if there was any, was the lightest of brushes but McDaid went over on a foot, tried to run it off but didn't come out for the second half.
Rovers opted to replace him with an attacker, Jason Price, and it was close to an inspired decision as he so nearly grabbed an equaliser within minutes. With the keeper drawn out of position an empty net presented itself, but the angle was just too tight for him to squeeze the ball in.
Price, who was later denied a certain goal by Basso, brought to his side a much sharper edge as City began to feel the effect of their midfield troubles.
With sub Alex Russell and Lee Johnson so similar in style there was a lack of defensive bite as Doncaster swept forward.
Often it was Basso versus the rest as Doncaster swarmed around the home goal.
Paul Green's tremendous shot was going in until the Rovers keeper, somehow, reached it and then Jon Forte passed up an equaliser trying to slide the ball in when a firm shot was the choice.
City had taken the lead on 37 minutes after a clever piece of footwork by Phil Jevons and a long determined run from defender Louis Carey which ended with City's captain blasting a shot under the bar.