Southern Premier side Stourbridge reached the FA Cup second round for the first time in their history with a shock replay win over 10-man Plymouth.
Argyle had Paul Bignot sent off in the first half for kicking out at Sean Evans, who had just fouled him.
Bricklayer Paul McCone scored the opener after the break, heading home Sean Gebbis's corner into the bottom corner from six yards out.
And Evans sealed it when he converted following Jake Cole's parry.
The scoreline did not flatter seventh-tier side Stourbridge, who were unlucky to need a replay following Onismor Bhasera's 88th-minute equaliser for Plymouth in the first game at Home Park.
And the West Midlands side's win over the Football League's basement club means they will host League One side Stevenage in the second round.
DID YOU KNOW?
Goalscorer Paul McCone won the West Midlands final of the Guild of Bricklayers junior competition this year
Stourbridge played excellently throughout the game and could have taken a first-half lead when Evans' centre found Ryan Rowe and his shot was well saved by Cole.
And things were looking ominous for Plymouth when Bignot retaliated to Evans' foul, which sparked a melee.
The Glassboys continued to dominate and Ben Billingham saw his top corner-bound shot saved by Cole before the break.
They did not let up after half-time and McCone, who works by day for his father's company, headed them into a fully deserved lead.
Plymouth's chances were few and far between and Durrell Berry's weak effort which was easily saved by Lewis Solly summed up their evening.
Stourbridge, sensing they were on the verge of something special, should have had their second when Paul Lloyd's cross hit the bar and Leon Broadhurst's headed the rebound off the crossbar with keeper Cole beaten.
But they had their clinching goal when the lively Rowe saw his shot saved and Evans found the corner from the rebound.
Plymouth never looked like getting back into it and had Billingham's late shot crept in rather than flew wide, there could have been few complaints in Devon at the scoreline.
For the latest updates throughout the day follow SportsDayLive. Get involved on Twitter using the hashtag #bbcsportsday.
- 01 Solly
- 03 Lloyd
- 04 McCone
- 06 Bennett
- 07 Smith
- 02 Rock (Canavan - 68' )
- 05 Gebbis (Dyson - 85' )
- 08 Broadhurst
- 11 Evans (Craddock - 82' )
- 09 Rowe Booked
- 10 Billingham
- 13 Bateman
- 15 Craddock
- 16 Slater
- 12 Canavan
- 14 Dyson
- 17 Dovey
- 18 Ward
- 23 Cole
- 06 Nelson Booked
- 14 Bhasera
- 19 Gibson
- 28 Bignot Dismissed
- 04 Fletcher (Lecointe - 65' )
- 07 Daley (Berry - 36' )
- 08 Walton
- 20 Hourihane Booked
- 21 Atkinson
- 11 Feeney (Vassel - 74' )
- 01 Larrieu
- 02 Berry
- 03 Williams
- 15 Young
- 17 Sims
- 24 Vassel
- 27 Lecointe
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +4:01
Drew Canavan takes a short corner.90:00 +3:16
Durrell Berry is adjudged to have handled the ball. Paul Lloyd takes the direct free kick.90:00 +2:17
Unfair challenge on Isaac Vassell by James Dyson results in a free kick. Simon Walton takes the direct free kick.89:36
Durrell Berry takes a shot. Lewis Solly makes a comfortable save.88:12
Ryan Rowe takes a weak shot and went wide of the left-hand post.87:01
The referee blows for offside against Ryan Rowe. Indirect free kick taken by Jake Cole.86:40
Paul McCone restarts play with the free kick.86:40 Booking
Booking Conor Hourihane is given a yellow card.86:33
Free kick awarded for an unfair challenge on Josh Craddock by Conor Hourihane.86:17
Shot from just outside the box by Ben Billingham misses to the left of the goal.84:40 Substitution
Substitution (Stourbridge) makes a substitution, with James Dyson coming on for Sean Gebbis.84:40
The ball is swung over by Sean Gebbis.83:42
Durrell Berry produces a cross, Nathan Bennett makes a clearance.83:02
The referee penalises Drew Canavan for handball. Jake Cole restarts play with the free kick.82:01
Ben Gibson challenges Paul McCone unfairly and gives away a free kick. Lewis Solly takes the free kick.80:48
Jake Cole restarts play with the free kick.80:48 Substitution
Substitution Sean Evans goes off and Josh Craddock comes on.80:48
The assistant referee signals for offside against Ryan Rowe.77:01
Corner taken by Will Atkinson from the left by-line to the near post, clearance made by Nathan Bennett.
Foul by Paul McCone on Matt Lecointe, free kick awarded. Conor Hourihane crosses the ball from the free kick left-footed from left channel.73:44
Free kick awarded for a foul by Simon Walton on Ben Billingham. The free kick is swung in right-footed by Sean Gebbis.73:24 Substitution
Substitution Isaac Vassell joins the action as a substitute, replacing Warren Feeney.72:20
Assist on the goal came from Ryan Rowe.72:20 Goal scored
Goal! - Sean Evans - Stourbr'ge 2 - 0 Plymouth Sean Evans grabs a goal from the edge of the area to the bottom left corner of the goal. Stourbridge 2-0 Plymouth.72:06
Ryan Rowe takes a shot. Save made by Jake Cole.70:23
Free kick awarded for a foul by Durrell Berry on Sean Evans. Sean Evans crosses the ball, Ryan Rowe takes a shot. Save by Jake Cole.67:54 Substitution
Substitution Drew Canavan on for Sam Rock.64:32 Substitution
Substitution Matt Lecointe replaces Carl Fletcher.63:48
Sean Gebbis concedes a free kick for a foul on Durrell Berry. Simon Walton takes the free kick.61:46
Sean Evans produces a cross, clearance made by Ben Gibson. The ball is crossed by Paul Lloyd. Leon Broadhurst takes a shot.59:44
Sean Gebbis produces a cross, Leon Broadhurst has a headed effort at goal from deep inside the area missing to the left of the target.59:19
Sean Evans produces a cross, Curtis Nelson manages to make a clearance.58:54
Shot by Conor Hourihane. Lewis Solly makes a comfortable save.58:23
Onismor Bhasera sends in a cross, clearance made by Nathan Bennett.58:07
Unfair challenge on Carl Fletcher by Leon Broadhurst results in a free kick. Direct free kick taken by Conor Hourihane.57:08
Free kick awarded for a foul by Nathan Bennett on Warren Feeney. Free kick crossed left-footed by Conor Hourihane from right channel, Sam Smith manages to make a clearance.54:11
Onismor Bhasera gives away a free kick for an unfair challenge on Sam Rock. Lewis Solly takes the direct free kick.53:21
Shot by Durrell Berry. Save made by Lewis Solly.51:48
Assist by Sean Gebbis.51:48 Goal scored
Goal! - Paul McCone - Stourbr'ge 1 - 0 Plymouth Paul McCone scores a headed goal from inside the six-yard box. Stourbridge 1-0 Plymouth.51:27
Sean Gebbis takes a inswinging corner to the near post,49:33
Simon Walton concedes a free kick for a foul on Ryan Rowe. Strike comes in from Ben Billingham from the free kick.47:58
Centre by Durrell Berry, Lewis Solly makes a save.46:31
Unfair challenge on Simon Walton by Ben Billingham results in a free kick. Simon Walton crosses the ball in from the free kick.46:04
Sean Evans is penalised for handball and concedes a free kick. Durrell Berry takes the free kick.45:18
Sean Evans gives away a free kick for an unfair challenge on Durrell Berry. Jake Cole restarts play with the free kick.45:01
The second half has started.45:00 +4:11 Half time
Half Time The match has reached half-time.45:00 +3:12
Unfair challenge on Simon Walton by Ben Billingham results in a free kick. Onismor Bhasera restarts play with the free kick.45:00 +2:15
The ball is sent over by Nathan Bennett, Ben Gibson manages to make a clearance.45:00 +1:43
Will Atkinson is penalised for a handball. Sean Gebbis takes the free kick.45:00 +1:15
Centre by Will Atkinson, save made by Lewis Solly.45:00 +0:13
Foul by Paul Lloyd on Warren Feeney, free kick awarded. Jake Cole takes the free kick.43:34
Ben Billingham takes a shot. Save by Jake Cole.39:15
Free kick awarded for an unfair challenge on Simon Walton by Paul McCone. Direct free kick taken by Jake Cole.38:46
Outswinging corner taken right-footed by Sean Gebbis from the right by-line, clearance by Curtis Nelson.36:54
Direct free kick taken by Jake Cole.36:54 Substitution
Substitution Durrell Berry replaces Luke Daley.36:54 Booking
Booking The referee shows Curtis Nelson a yellow card for dissent.35:04 Booking
Booking Booking for Ryan Rowe for dissent.33:29 Dismissal
Dismissal Paul Bignot is sent off by the referee.33:19
Sean Evans gives away a free kick for an unfair challenge on Paul Bignot.33:09
Sean Evans takes a shot. Curtis Nelson gets a block in.32:41
A cross is delivered by Sean Evans.32:14
Free kick awarded for an unfair challenge on Nathan Bennett by Will Atkinson. Direct free kick taken by Lewis Solly.27:07
Short corner worked by Will Atkinson.24:49
Corner taken left-footed by Conor Hourihane, Lewis Solly makes a save. Luke Daley challenges Paul McCone unfairly and gives away a free kick. Lewis Solly takes the direct free kick.23:10
Free kick awarded for a foul by Ryan Rowe on Jake Cole. Jake Cole takes the direct free kick.21:57
Centre by Sean Evans, Ryan Rowe takes a shot. Brilliant save by Jake Cole.20:40
Free kick awarded for an unfair challenge on Simon Walton by Paul McCone. Simon Walton takes the free kick.18:17
Foul by Sean Evans on Paul Bignot, free kick awarded. Direct free kick taken by Jake Cole.13:49
Short corner worked by Paul Bignot.13:44
Centre by Luke Daley, blocked by Paul Lloyd.12:52
Ryan Rowe gives away a free kick for an unfair challenge on Curtis Nelson. Free kick taken by Jake Cole.11:57
Paul Bignot gives away a free kick for an unfair challenge on Sean Evans. Direct free kick taken by Paul Lloyd.8:32
Carl Fletcher concedes a free kick for a foul on Leon Broadhurst. Direct free kick taken by Sean Gebbis.5:59
Paul McCone concedes a free kick for a foul on Will Atkinson. The free kick is delivered left-footed by Conor Hourihane from left wing, clearance made by Nathan Bennett.3:39
Effort from inside the area by Conor Hourihane misses to the left of the goal.3:20
The ball is crossed by Leon Broadhurst, save by Jake Cole.1:57
Unfair challenge on Nathan Bennett by Warren Feeney results in a free kick. Sean Gebbis sends in a cross, Nathan Bennett takes a shot. Save by Jake Cole.1:11
Carl Fletcher gives away a free kick for an unfair challenge on Nathan Bennett. Free kick taken by Sean Gebbis.0:00
The match gets underway.
Live data and text provided by our data suppliers