Darius Charles hit the only goal of the game as League One Stevenage knocked Reading out of the FA Cup.
Stevenage, beaten by Reading in the fourth round last year, took the lead when Charles fired past Adam Federici from the edge of the area.
Michail Antonio wasted a good chance to draw Reading level after the break as he sliced wide.
And Stevenage could have doubled their advantage when Joel Byrom's shot was tipped over by Federici.
Graham Westley's Stevenage went into the game on a run of just one defeat in the last 14 matches in all competitions, and started in confident mood.
Scott Laird had the first chance of the afternoon when he headed Luke Freeman's corner wide.
The impressive Laird was involved in the decisive goal. His run from midfield was unchecked and he released Charles, who was able to shrug off his marker to clip beyond Federici.
Reading rallied briefly, with midfielder Jay Tabb sending a left-footed effort wide.
But Brian McDermott's Championship side lacked spark throughout, and could have fallen further behind when, from another tricky Freeman corner, Chris Beardsley nodded tamely off target.
The Royals improved slightly as the second half began, with striker Adam Le Fondre forcing a dramatic save from Chris Day in the Stevenage goal.
Stevenage under Westley
- Graham Westley is in his second spell in charge of Stevenage
- He has won 104 of 200 games since returning to the club in June 2008
- He guided the club to the FA Trophy in 2009 and promotion to the Football League a year later
- He won promotion again with a 1-0 win over Torquay in last season's League Two play-off final
A clear chance went begging when Wales international Simon Church headed into the path of the onrushing Antonio, who sliced wide with only Day to beat.
Stevenage, who beat Newcastle in the third round last season, went close to a second when Joel Byrom's dipping drive from 25 yards was juggled, then smothered, by Federici.
Reading poured forward as they searched for an equaliser but substitute Mathieu Manset fired wide in stoppage time.
Reading manager Brian McDermott:
"Stevenage are organised, with a fantastic manager who has done a terrific job. They deserved to win. We were a little bit too nice today. We had to win more tackles and more second balls.
"You can have times when players don't play to their level as individuals but today we didn't perform as a unit. For me it should have been a 0-0 game.
"We have reached the quarter-finals of the FA Cup in the past couple of years and we wanted a good run again this season.
"Our energy levels were not good enough and we didn't move the ball well. I have been disappointed in our performance in the last couple of games and all we can do is move on quickly."
Stevenage boss Graham Westley:
"There have been rumours that I was moving on all week. Everyone keeps asking me if this is my last game for the club.
"I just focus on the games. If the club comes to me and says there has been an approach I will deal with it.
"Today this was the right performance. It was about coming here and stopping them playing. We had to stop their attacking assets. I think our lads were energetic and athletic as they always are.
"People talk about the FA Cup falling back in the pecking order but it still has magic for me. In the old days it was a really big day."
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +3:19
Mathieu Manset produces a right-footed shot from deep inside the penalty box which goes wide of the left-hand post.90:00 +1:21
Headed effort from inside the area by Mathieu Manset misses to the left of the target.90:00 +0:37
Outswinging corner taken right-footed by Michail Antonio from the right by-line.90:00 +0:31
Simon Church crosses the ball, clearance by Lawrie Wilson.89:43
Effort on goal by Mikele Leigertwood from a long way out goes over the bar.88:36
The ball is delivered by Hal Robson-Kanu.87:47 Substitution
Substitution Phil Edwards on for Chris Beardsley.87:04
Corner from the left by-line taken by Hal Robson-Kanu, Michail Antonio takes a shot. Blocked by Jon Ashton.86:25
A cross is delivered by Mathieu Manset.85:16 Substitution
Substitution Shaun Cummings goes off and Lawson D'Ath comes on.84:35
The ball is crossed by Ian Harte.83:57
Lawrie Wilson takes a shot. Save by Adam Federici.83:05
Shot from long distance by Lawrie Wilson goes wide of the left-hand post.82:00
Unfair challenge on Robin Shroot by Mathieu Manset results in a free kick. Chris Day restarts play with the free kick.81:36
Unfair challenge on Jobi McAnuff by Chris Beardsley results in a free kick. Adam Federici restarts play with the free kick.79:50 Substitution
Substitution Darius Charles leaves the field to be replaced by Robin Shroot.78:36
Joel Byrom takes a shot. Save made by Adam Federici.77:19
Michail Antonio delivers the ball, clearance made by Michael Bostwick.76:51
The ball is swung over by Lawrie Wilson, clearance by Kaspars Gorkss.
A cross is delivered by Michail Antonio, comfortable save by Chris Day.74:28
Foul by Jobi McAnuff on Lawrie Wilson, free kick awarded. Indirect free kick taken by Chris Day.74:00
The ball is sent over by Hal Robson-Kanu, clearance made by Jon Ashton.73:11
Hal Robson-Kanu delivers the ball, Chris Day makes a comfortable save.70:17 Substitution
Substitution Byron Harrison joins the action as a substitute, replacing Luke Freeman.69:24
Corner taken right-footed by Jobi McAnuff from the left by-line, clearance by Jon Ashton.67:54
The ball is delivered by Hal Robson-Kanu, Effort from inside the area by Simon Church misses to the left of the goal.67:10
The ball is crossed by Lawrie Wilson, Michail Antonio gets a block in.64:05
Effort from the edge of the area by Chris Beardsley goes wide of the right-hand upright.63:57
The ball is sent over by Luke Freeman, clearance by Mikele Leigertwood.62:18
Free kick taken by Chris Day.62:18 Substitution
Substitution Mathieu Manset on for Adam Le Fondre.62:18
Scott Laird fouled by Jobi McAnuff, the ref awards a free kick.61:27
Luke Freeman concedes a free kick for a foul on Simon Church. Adam Federici takes the free kick.59:24
The ball is sent over by Mark Roberts, Lawrie Wilson takes a shot. Comfortable save by Adam Federici.59:12
Scott Laird sends in a cross, blocked by Shaun Cummings.57:38
Effort from the edge of the penalty box by Michail Antonio goes wide of the right-hand upright.56:54
Ronnie Henry delivers the ball, Adam Federici makes a save.54:52
Mark Roberts concedes a free kick for a foul on Jobi McAnuff. Free kick taken by Mikele Leigertwood.51:47
Hal Robson-Kanu takes a inswinging corner from the right by-line played to the near post.51:25 Substitution
Substitution Michail Antonio joins the action as a substitute, replacing Jay Tabb.51:04
Shot from just outside the box by Luke Freeman misses to the left of the target.50:18
Adam Le Fondre is adjudged to have handled the ball. Ronnie Henry restarts play with the free kick.49:57
Inswinging corner taken from the right by-line by Joel Byrom, Jobi McAnuff manages to make a clearance.49:39
Lawrie Wilson takes a shot. Jobi McAnuff gets a block in.47:29
Jobi McAnuff delivers the ball, Mark Roberts makes a clearance.47:08
Short corner worked by Hal Robson-Kanu.46:57
Adam Le Fondre takes a shot. Save by Chris Day.45:42
The ball is delivered by Hal Robson-Kanu, blocked by Lawrie Wilson.45:01
The referee blows his whistle to start the second half.45:00 +2:05 Half time
Half Time The ref blows to end the first period.45:00 +0:16
Corner from right by-line taken by Luke Freeman.44:38
The assistant referee flags for offside against Adam Le Fondre. Chris Day takes the free kick.44:04
Free kick awarded for an unfair challenge on Kaspars Gorkss by Lawrie Wilson. Adam Federici takes the indirect free kick.43:13
Free kick awarded for a foul by Joel Byrom on Jay Tabb. Free kick taken by Mikele Leigertwood.42:34
Darius Charles produces a left-footed shot from outside the penalty box and misses left.41:52
Ian Harte gives away a free kick for an unfair challenge on Lawrie Wilson. Indirect free kick taken by Chris Day.41:02
Free kick awarded for a foul by Chris Beardsley on Kaspars Gorkss. Free kick taken by Adam Federici.40:47
A cross is delivered by Lawrie Wilson, Header by Luke Freeman from deep inside the penalty area misses to the left of the goal.39:09
Michael Bostwick takes a shot. Kaspars Gorkss gets a block in.38:17
Ronnie Henry sends in a cross, Jobi McAnuff makes a clearance.37:23 Booking
Booking Adam Le Fondre shown a yellow card.36:18
Ronnie Henry fouled by Adam Le Fondre, the ref awards a free kick. Free kick taken by Chris Day.35:36
Centre by Lawrie Wilson, Shot by Darius Charles from deep inside the penalty area misses to the left of the goal.34:59
Hal Robson-Kanu concedes a free kick for a foul on Michael Bostwick. Chris Day takes the free kick.33:27
Centre by Jobi McAnuff.32:49
Corner taken right-footed by Jobi McAnuff, Jon Ashton manages to make a clearance.32:41
Adam Le Fondre produces a cross, save by Chris Day.32:06
Inswinging corner taken right-footed by Jobi McAnuff from the left by-line, comfortable save by Chris Day.31:59
Jay Tabb sends in a cross, Mark Roberts manages to make a clearance.31:01
Joel Byrom has an effort at goal from outside the area missing to the wide right of the goal.30:55
A cross is delivered by Michael Bostwick, Kaspars Gorkss manages to make a clearance.29:44
Centre by Lawrie Wilson, clearance made by Shaun Cummings.28:12
Corner taken by Luke Freeman from the left by-line, Chris Beardsley has a headed effort at goal from close in which goes wide left of the goal.28:05
Luke Freeman produces a cross, blocked by Shaun Cummings.27:33
Corner taken by Luke Freeman.27:26
Luke Freeman crosses the ball, blocked by Shaun Cummings.24:41
Jon Ashton fouled by Adam Le Fondre, the ref awards a free kick. Chris Day takes the indirect free kick.22:42
Hal Robson-Kanu takes the inswinging corner, save by Chris Day. Shot from just outside the box by Jay Tabb misses to the right of the target.22:31
Adam Le Fondre sends in a cross, Ronnie Henry manages to make a clearance.20:49
Scott Laird provided the assist for the goal.20:49 Goal scored
Goal! - Darius Charles - Reading 0 - 1 Stevenage Darius Charles grabs a goal from just outside the box to the bottom left corner of the goal. Reading 0-1 Stevenage.9:51
Corner taken left-footed by Hal Robson-Kanu from the right by-line, Jon Ashton manages to make a clearance.12:55
Inswinging corner taken from the right by-line by Hal Robson-Kanu.12:36
Ian Harte concedes a free kick for a foul on Chris Beardsley. Chris Day takes the free kick.9:48
Chris Beardsley takes a shot. Save by Adam Federici.9:32
Luke Freeman takes the inswinging corner, Scott Laird has a headed effort at goal from close in which goes wide left of the goal.7:33
Luke Freeman takes a shot. Clearance made by Ian Harte.3:00
Corner taken left-footed by Luke Freeman from the right by-line, Ian Harte manages to make a clearance.0:00
The game kicks-off.
Live data and text provided by our data suppliers