First half goals from Franck Moussa and David McGoldrick put City in control at the break. McGoldrick added a second after half-time before Chris Brown pulled one back for the visitors. But Adam Barton put the result beyond any doubt with a fantastic late strike.
Sporting their yellow change strip for the first time this season, the Sky Blues made a bright start, taking the lead inside three minutes.
Gary McSheffrey initially saw his shot blocked after a good run down the right but the ball landed on the thigh of Moussa 18 yards from goal. The Belgian controlled brilliantly before volleying into the top corner.
City weren't having it all their own way however, Billy Paynter had already wasted a chance before the goal when Iain Hume went close on three occasions in the minutes following the opener.
The visitors began to get on the ball more after that and put more pressure on their hosts.
Top scorer McGoldrick went close to doubling the lead on 18 minutes with a well-struck free-kick from 30 yards but it went just wide.
He was on target eight minutes later however. Good play from Moussa and Barton had City on the attack after a spell of Doncaster pressure. The ball made its way to Blair Adams on the left, via McGoldrick, before the striker expertly headed home the full back's cross to notch his 16th of the season.
It should have been three six minutes before half-time but this time McGoldrick curled just wide after latching on to a fantastic through ball from Adams that caught out centre back Rob Jones.
The Sky Blues picked up right where they left off at the start of the second period and the lead was stretched to three on 58 minutes - and there were no prizes for guessing the scorer.
Adams again showed great feet to first win the ball and then dance between defenders before releasing McGoldrick. The striker found second half substitute Jordan Clarke on the right who drilled low into the box for the in-form frontman to tap home and score again.
City were playing with real confidence and creativity and McSheffrey was only denied the fourth moments later when his curling free-kick was tipped over by Donny keeper Gary Woods.
The visitors then began to show signs of life as the game approached its climax. Paynter lost his man and managed to loop a header over Joe Murphy in the City goal. He was denied by the crossbar but Brown reacted quickest to nob in the rebound.
This revived the home crowd too. And they almost had a second to cheer a minute later but Jones headed wide when he met a corner with his head.
McGoldrick had two late chances to complete his first City hat-trick but twice missed the target, from a free-kick and a close-range rebound.
James Bailey missed an even better chance with just three minutes to go, heading over from a great cross by McSheffrey.
Adam Barton capped a fine afternoon with the pick of the goals, a curled effort from 25 yards after neat build up involving Bailey and McGoldrick.
Doncaster: Woods, Quinn (Griffin 46), Husband, Spurr, Jones, Harper (Clingan 73), Keegan, Cotterill (Brown 25), Bennett, Paynter, Hume.
Subs not used: Maxted, Blake, Martis, McCombe.
Sky Blues: Murphy, Christie, Wood, Edjenguele, Adams, Moussa (Clarke 49), Barton (Thomas 90), Jennings, Bailey, McSheffrey, McGoldrick.
Subs not used: Dunn, Fleck, McDonald, Cameron, O'Donovan.
Bookings: Adams (COV), Keegan (DON), Husband (DON)
Sent off: None
Referee: Carl Berry (Surrey)
Attendance: 6,623 (872 away)