Reading continued their promotion push with an emphatic win at Doncaster which also saw Shane Long net his eighth goal in the last seven games.
Long broke the deadlock when latching onto Jimmy Kebe's accurate pass before touching past keeper Neil Sullivan.
Kebe then lobbed the onrushing Sullivan following Mikele Leigertwood's pass.
Jobi McAnuff later scored in fortuitous circumstances when he blocked Adam Lockwood's clearance and the ball flew into the bottom corner for 3-0.
The victory lifts Reading into seventh position with Brian McDermott's men two points off the play-offs and well placed for a promotion push in the second half of the season.
Doncaster settled quicker in blustery conditions as John Oster tested Adam Federici with a stinging low drive, while James O'Connor was just unable to latch onto Billy Sharp's header.
But soon after, Kebe broke down a Doncaster attack and advanced past the halfway line before setting Long clear with a pinpoint ball over the top.
And the in-form striker made no mistake as he converted with a cute touch past Sullivan to score his 14th goal of the season, with a finish that oozed confidence.
Reading were inches away from extending their lead a minute before the break after a moment of brilliance from Long.
He picked up the ball on the edge of the area before evading three defenders with a juggling run, but his hooked effort went just over the bar with Sullivan beaten.
Doncaster should have found a way back into the game just before the hour mark when referee Eddie Ilderton denied them a clear-cut penalty after skipper Ivar Ingimarsson blocked Sharp's shot with his hand.
And Reading dealt them a bitter blow 10 minutes later when they doubled their lead in the 67th minute.
Kebe raced on to a pass from Leigertwood and Sullivan inexplicably came off his line, leaving Kebe the simple task of lobbing the ball over the stranded keeper from 20 yards into an empty net.
And the points were in the bag with 16 minutes remaining after McAnuff's goal made it three.
Live text and stats
Saturday, 15 January 2011
20 Mills (Friend 32)
12 Hayter (Brooker 60)
21 Hird (Woods 60)
04 Karacan (Tabb 79)
10 Hunt (Church 79)
Ref: IldertonAtt: 9,496
Attempts on target
Attempts off target
94:01 The referee blows his whistle to end the game.
90:00+3:01 The referee blows for offside. Indirect free kick taken by Neil Sullivan.
87:28 A cross is delivered by James O'Connor.
83:13 Martin Woods has an effort at goal from outside the penalty box which goes wide right of the target.
81:48 Martin Woods concedes a free kick for a foul on Jay Tabb. Adam Federici takes the free kick.
81:02 Unfair challenge on Steve Brooker by Andy Griffin results in a free kick. Martin Woods takes the direct free kick.
80:19 The ball is crossed by Ian Harte, Neil Sullivan makes a save.
78:59 Substitution Simon Church comes on in place of Noel Hunt.
78:59 Substitution Jay Tabb on for Jem Karacan.
76:06 The referee penalises Jimmy Kebe for handball. Direct free kick taken by Neil Sullivan.
73:48 GOAL - Jobi McAnuff:Doncaster 0 - 3 Reading Jobi McAnuff gets on the score sheet with a goal from inside the box to the bottom left corner of the goal. Doncaster 0-3
72:51 Jimmy Kebe decides to take the corner short, Jimmy Kebe has an effort at goal from just inside the box that misses to the
left of the target.
71:51 The ball is sent over by John Oster, clearance made by Ian Harte.
70:53 John Oster fouled by Andy Griffin, the ref awards a free kick. Direct free kick taken by Martin Woods.
68:25 Headed effort from inside the area by Shane Long misses to the left of the goal.
66:52 The assist for the goal came from Mikele Leigertwood.
66:52 GOAL - Jimmy Kebe:Doncaster 0 - 2 Reading Jimmy Kebe grabs a goal from the edge of the penalty box to the bottom left corner of the goal. Doncaster 0-2 Reading.
63:20 Andy Griffin fouled by Steve Brooker, the ref awards a free kick. Direct free kick taken by Adam Federici.
63:02 The ball is crossed by Shane Long.
59:33 Substitution Steve Brooker replaces James Hayter.
59:33 Substitution Sam Hird leaves the field to be replaced by Martin Woods.
58:46 Corner taken by Jobi McAnuff.
58:04 Shane Long gives away a free kick for an unfair challenge on Sam Hird. John Oster takes the direct free kick.
56:23 Billy Sharp takes a shot. Save by Adam Federici. Short corner worked by John Oster. Outswinging corner taken right-footed
by James Coppinger from the right by-line, clearance by Ivar Ingimarsson.
54:47 Jobi McAnuff takes a short corner.
52:27 Short corner taken by Ian Harte from the right by-line.
51:17 Shot by Billy Sharp. Adam Federici makes a save.
49:28 The offside flag is raised against Shane Long. Matthew Kilgallon restarts play with the free kick.
45:01 The game restarts for the second half.
45:00+1:53 The match has reached half-time.
45:00+1:27 The referee blows for offside. Free kick taken by Neil Sullivan.
43:41 Effort on goal by Shane Long from inside the penalty area goes harmlessly over the bar.
42:55 The ball is delivered by Matthew Kilgallon, Header from deep inside the area by Billy Sharp goes over the bar.
42:03 James Coppinger takes a outswinging corner from the right by-line played to the near post, Noel Hunt manages to make a clearance.
39:59 The ball is swung over by Jimmy Kebe, Matthew Kilgallon manages to make a clearance.
37:51 Jimmy Kebe produces a left-footed shot from deep inside the penalty area which goes wide of the left-hand post.
34:32 Inswinging corner taken by Ian Harte from the right by-line, Neil Sullivan makes a save. Corner from the left by-line taken
by Jobi McAnuff, Jem Karacan produces a right-footed shot from just outside the box that goes wide left of the goal.
33:25 Unfair challenge on Jimmy Kebe by Matthew Kilgallon results in a free kick. Direct free kick taken by Andy Griffin.
31:41 Substitution Joseph Mills leaves the field to be replaced by George Friend.
28:36 Assist on the goal came from Jimmy Kebe.
28:36 GOAL - Shane Long:Doncaster 0 - 1 Reading Shane Long gets on the score sheet with a goal from inside the box to the bottom left corner of the goal. Doncaster 0-1 Reading.
14:03 John Oster fouled by Mikele Leigertwood, the ref awards a free kick. John Oster takes the free kick.
12:41 Free kick awarded for a foul by Alex Pearce on Billy Sharp. The free kick is delivered right-footed by John Oster from left
8:09 Shot from deep inside the area by Jobi McAnuff clears the bar.
6:41 Headed effort from inside the area by Billy Sharp misses to the left of the target.
4:42 John Oster produces a volleyed right-footed shot from 25 yards. Save by Adam Federici.
0:00 The referee gets the game underway.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.