Frederic Piquionne scored on his debut as Doncaster ended a run of eight games without a win to move to within three points of Nottingham Forest.
Piquionne, who joined on loan from West Ham on the day of the game, drove in from 30 yards just before half-time.
Kyle Bennett doubled Doncaster's lead from El-Hadji Diouf's cross seconds after the break.
Although Dexter Blackstock finished off a neat move just after the hour, Forest slipped to a damaging loss.
Defeat was their 11th at the City Ground this season, and their position is not helped by the fact Doncaster have a game in hand.
Marcus Tudgay suffered an injury in the warm-up, meaning Forest manager Steve Cotterill had to bring in Robbie Findley.
Piquionne, who has joined Doncaster on a month's loan , opened the scoring in some style a minute before the interval when he found the top corner from long range.
Bennett fired in from close range a minute into the second period, and moments later he was allowed room to break from midfield and hit a 25-yard shot that was tipped on to the post by Lee Camp.
Blackstock pulled one back after passes from Adlene Guedioura and Chris Gunter but Forest never threatened an equaliser.
Nottingham Forest manager Steve Cotterill:
"It was a disappointing performance and we didn't show any signs of that in the last three or four games - none whatsoever.
"I know one thing - I am pretty angry at the moment. But I will lift myself up. I'll be fine. The players would have been in tomorrow anyway but we'll work with them and try and recover as quickly as we can.
"We've just had two fantastic results away from home and we come back and kick ourselves in the teeth with this. It's not acceptable."
Doncaster manager Dean Saunders:
"Someone mentioned to me that [Piquionne] normally scores on his debut and it was a great strike. He was struggling fitness-wise but he certainly made an impression.
"As a team I thought we played really well and knocked the ball about great. In fact, it's probably the best we have played since I've been at the club.
"It's a massive result. I would have been happy if we had played terrible and won but the fact is that we did very well.
"We had to make sure that Forest didn't go nine points clear of us but that brings it back to three and we have a game in hand."
- 01 Camp
- 02 Wootton (Reid - 46' )
- 04 Chambers
- 16 Gunter
- 26 Elokobi (Cunningham - 57' )
- 33 Lynch
- 19 Moussi
- 22 Guedioura
- 12 McCleary
- 23 Blackstock
- 24 Findley (McGugan - 74' )
- 21 Smith
- 03 Cunningham
- 07 Anderson
- 10 McGugan
- 11 Reid
- 27 Ikeme
- 04 Martis
- 14 Spurr (Hird - 50' Booked )
- 39 Chimbonda Booked
- 41 Beye
- 17 Barnes
- 18 Gillett
- 26 Coppinger
- 10 Diouf (Oster - 71' )
- 19 Piquionne (Bagayoko - 64' )
- 23 Bennett
- 21 Hird
- 16 Oster
- 12 Hayter
- 22 Robert
- 49 Bagayoko
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +3:25
The ball is swung over by Andy Reid, save by Carl Ikeme.89:23
John Oster challenges Joel Lynch unfairly and gives away a free kick. Direct free kick taken by Andy Reid.81:26
Centre by Greg Cunningham, save made by Carl Ikeme.81:14
Garath McCleary takes a shot. Save made by Carl Ikeme.79:13
Shelton Martis handles the ball and concedes a free kick. Free kick crossed left-footed by Andy Reid, save by Carl Ikeme.78:35
Free kick awarded for a foul by Mamadou Bagayoko on Joel Lynch. Joel Lynch takes the free kick.77:04
Foul by Dexter Blackstock on Shelton Martis, free kick awarded. Carl Ikeme takes the free kick.75:50
Free kick crossed by Andy Reid, clearance by Shelton Martis.75:50 Booking
Booking Sam Hird is shown a yellow card for unsporting behaviour.75:43
Unfair challenge on Garath McCleary by Sam Hird results in a free kick.73:36 Substitution
Substitution Lewis McGugan joins the action as a substitute, replacing Robbie Findley.70:57 Substitution
Substitution (Doncaster) makes a substitution, with John Oster coming on for El-Hadji Diouf.69:14
Dexter Blackstock challenges Shelton Martis unfairly and gives away a free kick. Habib Beye takes the direct free kick.67:55
The offside flag is raised against Mamadou Bagayoko. Free kick taken by Lee Camp.66:39
The referee blows for offside. Lee Camp restarts play with the free kick.63:13 Substitution
Substitution Mamadou Bagayoko replaces Frederic Piquionne.62:22
Garath McCleary provided the assist for the goal.62:22 Goal scored
Goal! - Dexter Blackstock - Nott'm For 1 - 2 Doncaster Dexter Blackstock scores a goal from inside the penalty area to the top left corner of the goal. Nottm Forest 1-2 Doncaster.58:29
Effort from just outside the area by Andy Reid goes over the bar.
Indirect free kick taken by Lee Camp.56:48 Substitution
Substitution George Elokobi leaves the field to be replaced by Greg Cunningham.56:48
El-Hadji Diouf is caught offside.53:00
Effort from just outside the area by Andy Reid goes over the bar.50:34
Shot by Kyle Bennett. Lee Camp makes a brilliant save.49:45 Substitution
Substitution Sam Hird joins the action as a substitute, replacing Tommy Spurr.46:04
Assist on the goal came from El-Hadji Diouf.46:04 Goal scored
Goal! - Kyle Bennett - Nott'm For 0 - 2 Doncaster Kyle Bennett finds the net with a goal from close range to the top right corner of the goal. Nottm Forest 0-2 Doncaster.45:01
The referee starts the second half.45:01 Substitution
Substitution Andy Reid replaces Scott Wootton.45:00 +2:22 Half time
Half Time The referee blows for half time.45:00 +1:43
Robbie Findley has shot on goal from just outside the area which goes wide of the right-hand upright.43:51 Goal scored
Goal! - Frederic Piquionne - Nott'm For 0 - 1 Doncaster Frederic Piquionne finds the back of the net with a brilliant goal from a long way out to the top right corner of the goal. Nottm Forest 0-1 Doncaster.36:29
George Elokobi takes the free kick.36:29 Booking
Booking Pascal Chimbonda goes into the book for unsporting behaviour.36:24
Unfair challenge on Garath McCleary by Pascal Chimbonda results in a free kick.36:14
The ball is sent over by Tommy Spurr, clearance by George Elokobi.34:33
Frederic Piquionne takes a shot. Luke Chambers gets a block in.32:55
Unfair challenge on El-Hadji Diouf by Robbie Findley results in a free kick. The free kick is delivered right-footed by El-Hadji Diouf from right wing, clearance by Robbie Findley.28:57
Kyle Bennett is caught offside. Free kick taken by Lee Camp.28:08
The ball is delivered by James Coppinger, save by Lee Camp.26:41
Robbie Findley fouled by Shelton Martis, the ref awards a free kick. Direct strike on goal from the free kick comes in from Adlene Guedioura, El-Hadji Diouf gets a block in.26:02
A cross is delivered by Kyle Bennett, Lee Camp makes a save.22:41
Garath McCleary has an effort at goal from outside the box which misses left.19:10
Shot by Dexter Blackstock from 20 yards. Carl Ikeme makes a save.16:47
The ball is crossed by Garath McCleary, Pascal Chimbonda gets a block in. Inswinging corner taken by Adlene Guedioura from the left by-line, clearance by Habib Beye.13:46
Shot from just outside the area by Giles Barnes goes over the bar.12:56
The offside flag is raised against El-Hadji Diouf. Lee Camp restarts play with the free kick.11:43
Frederic Piquionne concedes a free kick for a foul on Joel Lynch. Lee Camp restarts play with the free kick.9:08
Unfair challenge on Giles Barnes by Dexter Blackstock results in a free kick. Shelton Martis restarts play with the free kick.7:55
Garath McCleary takes a shot. Carl Ikeme makes a save.3:35
Robbie Findley produces a left-footed shot from just outside the area that goes wide left of the goal.1:22
Centre by Tommy Spurr, clearance by Luke Chambers.0:00
The game begins.
Live data and text provided by our data suppliers