Burnley scored two late goals to seal a fifth win in six Championship matches and continue their charge up the table.
Jay Rodriguez set the Clarets on their way before the interval, coolly netting from the penalty spot after Sam Hird was deemed to have fouled Chris McCann.
Martin Paterson headed home a second with six minutes left after Rodriguez rattled the bar with a fierce shot.
And Hird put through his own net in stoppage time to complete the scoring.
Burnley top-scorer Rodriguez once again had a hand in the goal, heading Kieran Trippier's cross back across goal where the unfortunate Bird's intervention ensured the hosts move to within three points of the play-off spots.
And the home side were good value for their win, despite leaving it late.
Rodriguez twice went close early on but Rovers defender Herita Ilunga cleared one effort off the line and headed another attempt wide, while James O'Connor also cleared a goalbound Junior Stanislas shot.
The visitors weathered the storm and James Coppinger might have given them the lead, only to dither and then fire over after good work by El Hadji Diouf.
But Burnley went ahead from the spot thanks to Rodriguez's 12th goal of the season when referee David Webb penalised Hird for a challenge on Clarets skipper McCann.
Doncaster almost found an instant response as a fine move ended with Billy Sharp's glancing header from Brian Stock's cross striking the post and Giles Barnes also squandered a good opening but side-footed wide from close range.
After the interval Coppinger forced a fabulous save from Lee Grant with a dipping volley.
But as Doncaster pressed the hosts were starting to find gaps on the break.
Ross Wallace drilled into the side netting before the second goal duly arrived when Habib Beye's headed clearance was thundered against the bar by Rodriguez and Paterson reacted quickest to nod into an empty net.
And Bird's own goal capped a miserable afternoon both for him and for Rovers, who remain in the relegation zone, two points from safety.
Burnley manager Eddie Howe: "We were delighted with the win. I thought we got some good passing triangles and inter-play going.
"It was a very open game. Doncaster came here and both sides were going for the win which made it a real spectacle.
"It was a little too open in the second half and I don't think we controlled the game but, on another day, we could have put the game to bed a lot earlier.
"I am pleased that Pato [Martin Paterson] got the goal because he has worked so hard whilst he has been out injured."
Doncaster manager Dean Saunders: "That was not a 3-0 game. I thought we played well. The decision for the penalty is ridiculous but there were lots of other decisions that went against us.
"I'm not going to slaughter the referee because financially it doesn't make sense - that is the only reason.
"We have to go to Watford and not let that scoreline affect us because it could have been the other way. Their goalkeeper made a good save at 1-0 but we had plenty of chances.
"This is a difficult place to come and they have some very sharp players, but to have that many chances and not score is disappointing."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +4:01 Goal scored
Goal! - Sam Hird - Burnley 3 - 0 Doncaster Own goal by Sam Hird. Burnley 3-0 Doncaster.90:00 +4:01
Sam Hird gets a block in.90:00 +2:36
Corner taken by Ross Wallace.90:00 +2:10
Chris McCann takes a shot. Sam Hird gets a block in.90:00 +1:38
Habib Beye fouled by Charlie Austin, the ref awards a free kick. Direct free kick taken by Sam Hird.90:00 +0:59
Kyle Bennett produces a right-footed shot from just outside the box that goes wide right of the goal.90:00 +0:06
Corner from the left by-line taken by Brian Stock, James Coppinger takes a shot. Blocked by Brian Easton.89:46
James Hayter takes a shot. David Edgar gets a block in.88:44
Marvin Bartley gives away a free kick for an unfair challenge on James Hayter. Direct free kick taken by Sam Hird.88:12
James Coppinger takes a shot. Brian Easton gets a block in.85:37 Substitution
Substitution El-Hadji Diouf leaves the field to be replaced by Herold Goulon.85:37 Substitution
Substitution James Hayter comes on in place of Giles Barnes.84:39 Substitution
Substitution (Burnley) makes a substitution, with Charlie Austin coming on for Martin Paterson.84:25 Booking
Booking The referee shows Martin Paterson a yellow card.83:17
Jay Rodriguez provided the assist for the goal.83:17 Goal scored
Goal! - Martin Paterson - Burnley 2 - 0 Doncaster Martin Paterson finds the net with a headed goal from close range. Burnley 2-0 Doncaster.83:01
Jay Rodriguez takes a shot.81:22
Ross Wallace takes a shot. Blocked by Habib Beye.80:28
The official flags Martin Paterson offside. Free kick taken by Gary Woods.
Dean Marney challenges El-Hadji Diouf unfairly and gives away a free kick. Free kick crossed by Brian Stock, Lee Grant makes a save.78:20
The assistant referee signals for offside against Martin Paterson. Indirect free kick taken by Gary Woods.78:02 Substitution
Substitution Kyle Bennett on for Simon Gillett.74:44
Ben Mee gives away a free kick for an unfair challenge on Billy Sharp. Herita Ilunga takes the free kick.73:58
Inswinging corner taken by Brian Stock from the left by-line, save by Lee Grant.71:46
The assistant referee signals for offside against El-Hadji Diouf. Indirect free kick taken by Lee Grant.69:59
Kieran Trippier takes a shot. Gary Woods gets a block in.68:54
Gary Woods restarts play with the free kick.68:54 Substitution
Substitution (Burnley) makes a substitution, with Marvin Bartley coming on for Junior Stanislas.68:54
Foul by Chris McCann on Giles Barnes, free kick awarded.67:19
Ross Wallace has an effort at goal from deep inside the area missing to the right of the target.66:03
Ross Wallace produces a left-footed shot from just outside the penalty box that misses to the left of the target.64:33
Corner taken by Ross Wallace, clearance by El-Hadji Diouf.64:26
Kieran Trippier crosses the ball, Herita Ilunga gets a block in.62:48
Headed effort from inside the area by El-Hadji Diouf misses to the right of the goal.61:15 Substitution
Substitution Michael Duff leaves the field to be replaced by Brian Easton.60:52
Simon Gillett takes a shot. Blocked by Dean Marney.56:55
Giles Barnes produces a right-footed shot from just outside the box that goes wide right of the goal.56:09
Brian Stock takes a outswinging corner from the right by-line to the near post, clearance made by Michael Duff.55:54
Shot from 25 yards from James Coppinger. Lee Grant makes a save.54:16
Sam Hird restarts play with the free kick.54:16 Booking
Booking Booking for Chris McCann.53:56
Unfair challenge on Giles Barnes by Chris McCann results in a free kick.53:01
The ball is swung over by James Coppinger, save by Lee Grant.52:06
Jay Rodriguez takes a shot. Gary Woods gets a block in.51:02
Foul by James Coppinger on Ben Mee, free kick awarded. Free kick taken by Lee Grant.49:45
Giles Barnes concedes a free kick for a foul on Junior Stanislas. Lee Grant restarts play with the free kick.48:14
David Edgar concedes a free kick for a foul on El-Hadji Diouf. Free kick crossed right-footed by Brian Stock from right channel, clearance made by Chris McCann.46:34
Jay Rodriguez has a shot on goal from outside the area which misses right.45:48
Chris McCann takes a shot. Blocked by Giles Barnes.45:12
Free kick awarded for an unfair challenge on Chris McCann by Billy Sharp. David Edgar takes the free kick.45:01
The second half kicks off.45:00 +3:10 Half time
Half Time The ref blows to signal half-time.45:00 +0:11
Corner from the right by-line taken by Ross Wallace, Dean Marney takes a shot. Gary Woods makes a save.44:40
The referee gives a free kick against El-Hadji Diouf for handball. Indirect free kick taken by Kieran Trippier.43:08
Close range effort by Giles Barnes goes wide of the left-hand upright.38:50
Headed effort from inside the area by Billy Sharp strikes the post.37:17
The referee blows for offside. Free kick taken by Gary Woods.36:04 Goal scored
Goal! - Jay Rodriguez - Burnley 1 - 0 Doncaster Jay Rodriguez scores a power penalty. Burnley 1-0 Doncaster.35:10 Booking
Booking The referee books Habib Beye for dissent.34:28
Penalty awarded for an unfair challenge on Chris McCann by Sam Hird.33:01
Shot from just outside the box by James Coppinger misses to the right of the target.32:28
Corner taken by Brian Stock from the left by-line played to the near post, clearance made by Jay Rodriguez.31:23
Shot from just outside the box by James Coppinger goes over the bar.28:38
Free kick taken by Kieran Trippier.28:38 Booking
Booking Brian Stock is shown a yellow card.28:35
Free kick awarded for a foul by Brian Stock on Kieran Trippier.27:35
Giles Barnes concedes a free kick for a foul on Ben Mee. Dean Marney takes the direct free kick.24:22
Junior Stanislas takes a shot. Blocked by Herita Ilunga.22:29
Outswinging corner taken from the right by-line by Brian Stock, David Edgar makes a clearance.21:34
Inswinging corner taken by Ross Wallace, Giles Barnes manages to make a clearance.21:22
Ross Wallace takes a shot. Blocked by Simon Gillett.20:33
Chris McCann takes a shot. Gary Woods makes a save.20:12
The ball is swung over by Kieran Trippier, Martin Paterson takes a shot.19:11
Inswinging corner taken left-footed by Ross Wallace.18:53
Jay Rodriguez takes a shot. Giles Barnes gets a block in.16:51
Free kick awarded for an unfair challenge on Brian Stock by Junior Stanislas. Simon Gillett shoots direct from the free kick.15:55
Brian Stock fouled by Dean Marney, the ref awards a free kick. Direct free kick taken by Gary Woods.14:44
Unfair challenge on Ross Wallace by Simon Gillett results in a free kick. Michael Duff restarts play with the free kick.11:55
Corner taken right-footed by Junior Stanislas from the left by-line, clearance made by Habib Beye.11:42
Junior Stanislas takes a shot. Blocked by James O'Connor.10:54
Headed effort from deep inside the penalty area by Jay Rodriguez goes harmlessly over the crossbar.9:49
Inswinging corner taken by Junior Stanislas from the left by-line.9:21
Shot by Dean Marney from outside the box goes high over the target.8:31
Corner taken left-footed by Ross Wallace to the near post, Jay Rodriguez takes a shot. Blocked by James O'Connor.7:56
Junior Stanislas takes a shot. Blocked by Sam Hird.6:39
Simon Gillett challenges Ross Wallace unfairly and gives away a free kick. Ross Wallace delivers the ball from the free kick left-footed from right wing, clearance by Sam Hird.5:31
The assistant referee flags for offside against Jay Rodriguez. Herita Ilunga takes the free kick.4:31
El-Hadji Diouf produces a cross, Kieran Trippier makes a clearance.3:35
Corner taken by Junior Stanislas from the left by-line played to the near post, El-Hadji Diouf manages to make a clearance.1:49
Jay Rodriguez takes a shot. Sam Hird gets a block in.1:15
Billy Sharp is caught offside. Lee Grant restarts play with the free kick.0:00
The game begins.
Live data and text provided by our data suppliers