Doncaster moved off the bottom of the Championship table as they shocked league leaders Southampton.
Billy Sharp scored the only goal of the game when he was on hand to steer home a cross from Marc-Antoine Fortune.
Morgan Schneiderlin had the best chance for the visitors when he sprung the offside trap but Carl Ikeme reacted well to make the save.
The win, only Rovers' second in 10, moves them above Coventry while Saints stay top following West Ham's defeat.
Doncaster had lost six of their previous nine matches but started brightly and could have taken the lead as early as the second minute.
Herita Ilunga was left unmarked from a Brian Stock corner but the defender, on loan from West Ham, could not keep his header on target.
Simon Gillet then bought a good save out of Kelvin Davis before Sharp and Stock both fired wide, while Ilunga saw a header cleared off the line by Jose Fonte.
Guly do Prado bought a good save out of Ikeme for the visitors before Sharp scored his seventh goal to condemn Southampton to only their fourth defeat of the season.
Live Text Commentary
Full Time The referee ends the match.90:00 +4:51
Foul by Giles Barnes on Guly Do Prado, free kick awarded. Free kick crossed right-footed by Kelvin Davis, clearance made by James O'Connor.90:00 +4:29
Shot from just outside the box by Giles Barnes misses to the left of the goal.90:00 +3:43
Free kick awarded for an unfair challenge on Habib Beye by Jos Hooiveld. Carl Ikeme takes the direct free kick.90:00 +2:25
Daniel Fox challenges James Coppinger unfairly and gives away a free kick. Carl Ikeme restarts play with the free kick.89:59
Unfair challenge on James Hayter by Jose Fonte results in a free kick. Simon Gillett takes the free kick.89:37 Booking
Booking Jose Fonte shown a yellow card.87:41
The assistant referee signals for offside against Adam Lallana. Indirect free kick taken by Carl Ikeme.86:05 Substitution
Substitution James Hayter on for Billy Sharp.86:05
Effort on goal by Lee Holmes from just outside the area goes harmlessly over the target.84:26
Outswinging corner taken left-footed by Daniel Fox, Guly Do Prado has a headed effort at goal from close range which goes wide of the left-hand post.82:02
Foul by Habib Beye on Lee Barnard, free kick awarded. The free kick is swung in right-footed by Frazer Richardson.81:38
Free kick awarded for an unfair challenge on Sam Hird by Guly Do Prado. Free kick taken by Carl Ikeme.80:43
Adam Lallana sends in a cross.78:49 Substitution
Substitution George Friend is brought on as a substitute for Marc-Antoine Fortune.78:49
Morgan Schneiderlin takes the free kick.78:49 Booking
Booking Sam Hird goes into the book for dissent.78:41
Free kick awarded for a foul by Simon Gillett on Morgan Schneiderlin.77:58
Shot from 30 yards by Giles Barnes. Save made by Kelvin Davis.74:06
Marc-Antoine Fortune is caught offside. Free kick taken by Kelvin Davis.
Substitution Jack Cork goes off and Lee Barnard comes on.70:44 Substitution
Substitution Steve De Ridder leaves the field to be replaced by Lee Holmes.70:08
The ball is crossed by James Coppinger.68:21
Inswinging corner taken left-footed by Daniel Fox played to the near post, save made by Carl Ikeme.67:27
Marc-Antoine Fortune has shot on goal from a long way out that goes wide left.62:44
Guly Do Prado concedes a free kick for a foul on Brian Stock. Carl Ikeme restarts play with the free kick.61:02
Unfair challenge on Marc-Antoine Fortune by Frazer Richardson results in a free kick. Brian Stock takes the free kick. Corner taken by Brian Stock from the left by-line.59:29
The assist for the goal came from Marc-Antoine Fortune.59:29 Goal scored
Goal! - Billy Sharp - Doncaster 1 - 0 Southamp'n Billy Sharp fires in a goal from inside the penalty box to the bottom left corner of the goal. Doncaster 1-0 Southampton.59:27
A cross is delivered by Marc-Antoine Fortune,56:33
Jose Fonte fouled by Marc-Antoine Fortune, the ref awards a free kick. Jose Fonte restarts play with the free kick.53:16
Brian Stock decides to take a short corner.52:27
The free kick is delivered right-footed by Brian Stock from left wing, clearance made by Dean Hammond.52:27 Booking
Booking Frazer Richardson receives a caution for unsporting behaviour.52:20
Foul by Frazer Richardson on Giles Barnes, free kick awarded.51:25
The ball is sent over by Frazer Richardson, save made by Carl Ikeme.48:43
Centre by James Coppinger, Daniel Fox manages to make a clearance.47:49
Adam Lallana takes a shot from just outside the penalty area which clears the crossbar.47:09
The official flags Steve De Ridder offside. Indirect free kick taken by Carl Ikeme.46:47
James O'Connor concedes a free kick for a foul on Steve De Ridder. Direct free kick taken by Daniel Fox.45:25
Free kick awarded for a foul by Brian Stock on Adam Lallana. Direct free kick taken by Kelvin Davis.45:01
The referee starts the second half.45:01 Substitution
Substitution Giles Barnes comes on in place of Herold Goulon.45:00 +1:13 Half time
Half Time The ref blows to end the first period.44:59
Steve De Ridder concedes a free kick for a foul on Herita Ilunga. Brian Stock crosses the ball from the free kick right-footed from left wing, clearance by Jose Fonte.41:11
Handball decision goes against Brian Stock. Daniel Fox crosses the ball from the free kick left-footed from right channel, save by Carl Ikeme.40:13
Daniel Fox delivers the ball, save made by Carl Ikeme.38:28
Effort on goal by Guly Do Prado from 20 yards. Save made by Carl Ikeme. Corner taken left-footed by Daniel Fox, clearance by Sam Hird.37:56
Morgan Schneiderlin is adjudged to have handled the ball. Carl Ikeme restarts play with the free kick.36:45
Steve De Ridder concedes a free kick for a foul on Habib Beye. Carl Ikeme takes the direct free kick.35:52
Guly Do Prado fouled by Herold Goulon, the ref awards a free kick. Daniel Fox delivers the ball from the free kick left-footed from right wing, Sam Hird manages to make a clearance.34:00
Inswinging corner taken left-footed by Daniel Fox, Steve De Ridder gives away a free kick for an unfair challenge on Carl Ikeme. Free kick taken by Carl Ikeme.33:03
Billy Sharp has an effort at goal from 18 yards. Blocked by Jose Fonte. Outswinging corner taken right-footed by Brian Stock, Herita Ilunga takes a shot. Jose Fonte manages to make a clearance.31:53
Effort from 12 yards by Morgan Schneiderlin. Save by Carl Ikeme. Daniel Fox takes a inswinging corner from the right by-line to the near post, clearance by Herita Ilunga. Outswinging corner taken by Adam Lallana from the right by-line.31:37
Guly Do Prado is flagged offside by the assistant referee. Indirect free kick taken by Carl Ikeme.29:25
Inswinging corner taken left-footed by Daniel Fox.28:51
The offside flag is raised against James Coppinger. Kelvin Davis takes the free kick.26:13
Brian Stock has shot on goal from just outside the box which goes wide of the right-hand upright.25:01
Outswinging corner taken right-footed by Daniel Fox, Carl Ikeme makes a save. Daniel Fox takes a outswinging corner from the right by-line played to the near post, clearance made by Brian Stock.23:07
Effort on goal by Billy Sharp from inside the penalty box misses to the right of the target.21:15
Free kick awarded for a foul by Herold Goulon on Steve De Ridder. The free kick is swung in right-footed by Daniel Fox, clearance by Brian Stock.19:26
Foul by James Coppinger on Adam Lallana, free kick awarded. Jack Cork takes the direct free kick.15:33
Inswinging corner taken from the right by-line by Daniel Fox.13:57
Herold Goulon concedes a free kick for a foul on Adam Lallana. Free kick taken by Morgan Schneiderlin.11:15
Morgan Schneiderlin takes a shot. Comfortable save by Carl Ikeme.9:43
Foul by Jose Fonte on Marc-Antoine Fortune, free kick awarded. Direct free kick taken by Brian Stock.9:13
Unfair challenge on Habib Beye by Guly Do Prado results in a free kick. Herita Ilunga takes the direct free kick.4:24
The referee blows for offside against Adam Lallana. Indirect free kick taken by Carl Ikeme.3:38
Simon Gillett takes a shot. Save by Kelvin Davis.1:04
The ball is delivered by James Coppinger, clearance made by Jos Hooiveld. Outswinging corner taken right-footed by Brian Stock from the right by-line to the near post, Headed effort from inside the box by Herita Ilunga misses to the right of the target.0:03
Marc-Antoine Fortune gives away a free kick for an unfair challenge on Guly Do Prado. Jos Hooiveld restarts play with the free kick.0:00
The game begins.
Live data and text provided by our data suppliers