Port Vale could only manage a draw with Shrewsbury as they missed out on a place in the League Two play-offs.
Shane Cansdell-Sherriff had already gone close for the visitors before Kris Bright was given too much time and space and shot the Shrews in front.
They looked like they could hang on for victory until 77 minutes, when Dean Holden conceded a needless penalty.
Marc Richards sent the keeper the wrong way for his 23rd goal of the season but it was not enough for Vale.
Port Vale manager Micky Adams told BBC Radio Stoke:
"There's a lot to build on and a lot to be proud of, we just fell short at the end.
"We kept going, didn't give in and on another day we might have won the game.
"It was always going to be tough, our second half of the season performances have been excellent and if we can take them in to the start of next season then who knows what we can achieve."
Shrewsbury Town caretaker-manager Mike Jackson told BBC Radio Shropshire:
"The goal was a good finish from Kris Bright, and I think we could have had a couple more.
"Tom Bradshaw's workrate and know-how were excellent. He's a young lad, and if he keeps developing the way we hope he does, then he's got a chance.
"[Port Vale] have got some good players, and it was a good test for us.
"We asked the lads to go away [after the game] with the good feeling from today, have a think about what they could've done better this year, and get themselves ready and believe for next year."
Live text and stats
Saturday, 8 May 2010
Richards (pen) 77
05 McCombe yellow card (Taylor 63)
07 Loft (Dodds 58)
25 Davies (Taylor 63)
24 Cansdell-Sherriff yellow card
17 Van den Broek
Ref: HillAtt: 8,467
Attempts on target
Attempts off target
90:00+3:30 The game is over, as the referee blows his whistle.
89:54 Dean Holden takes a shot. Save by Chris Martin. Outswinging corner taken from the right by-line by Steven Leslie. Inswinging
corner taken from the left by-line by Steven Leslie.
87:48 Free kick awarded for a foul by Kevin McIntyre on Sean Rigg. Strike on goal comes in from Marc Richards from the free kick.
Outswinging corner taken by Kris Taylor from the left by-line, clearance by Kelvin Langmead.
85:11 Effort from the edge of the area by Tom Bradshaw goes wide of the right-hand post.
80:15 Inswinging corner taken from the right by-line by Steven Leslie.
Correction - 77:57 Sean Rigg fouled by Kevin McIntyre, the ref awards a free kick. Strike on goal comes in from Kris Taylor from the free kick,
save by Chris Neal. Corner taken by Kris Taylor, clearance by Kevin McIntyre.
77:57 Foul by Kevin McIntyre on Sean Rigg, free kick awarded. Kris Taylor restarts play with the free kick.
76:56 GOAL - Marc Richards:Port Vale 1 - 1 Shrewsbury Placed penalty scored by Marc Richards. Port Vale 1-1 Shrewsbury.
75:49 Penalty awarded for a foul by Dean Holden on Sean Rigg.
70:22 Corner taken by Kevin McIntyre, Anthony Griffith manages to make a clearance.
67:44 Kevin McIntyre challenges Anthony Griffith unfairly and gives away a free kick. Anthony Griffith takes the free kick.
Correction - 66:06 Outswinging corner taken left-footed by Kris Taylor, Benjamin Van den Broek manages to make a clearance.
65:59 Corner from the left by-line taken by Kris Taylor, clearance by Benjamin Van den Broek.
63:26 Steven Leslie concedes a free kick for a foul on Anthony Griffith. Free kick taken by Lee Collins.
62:40 Substitution Kris Taylor joins the action as a substitute, replacing John McCombe.
62:40 Substitution (Port Vale) makes a substitution, with Robert Taylor coming on for Craig Davies.
61:35 Steven Leslie fires a strike on goal direct from the free kick.
61:35 Booking John McCombe goes into the book.
61:30 Unfair challenge on Tom Bradshaw by John McCombe results in a free kick.
Correction - 59:14 Corner taken by Steven Leslie played to the near post, Anthony Griffith makes a clearance.
59:04 Corner taken by Steven Leslie played to the near post, clearance by Anthony Griffith.
57:39 Substitution Louis Dodds is brought on as a substitute for Doug Loft.
56:26 Tom Bradshaw concedes a free kick for a foul on Anthony Griffith. Free kick crossed left-footed by Doug Loft, Chris Neal makes
55:32 Unfair challenge on John McCombe by Kris Bright results in a free kick. Free kick taken by John McCombe.
50:43 Lee Collins concedes a free kick for a foul on Benjamin Van den Broek. Free kick taken by Dean Holden.
47:29 Marc Richards is caught offside. Chris Neal restarts play with the free kick.
Correction - 46:34 Free kick awarded for an unfair challenge on Marc Richards by Kelvin Langmead. Doug Loft delivers the ball from the free kick
left-footed from left channel, save made by Chris Neal.
46:34 Unfair challenge on Marc Richards by Kelvin Langmead results in a free kick. Doug Loft takes the free kick.
45:01 The referee gets the second half started.
45:00+2:08 It is the end of the first-half.
45:00+0:40 Anthony Griffith takes a shot. Chris Neal makes a save.
44:17 Benjamin Van den Broek takes a shot from deep inside the box clearing the bar.
41:54 Unfair challenge on Lewis Haldane by Shane Cansdell-Sherriff results in a free kick. Strike on goal comes in from Doug Loft
from the free kick.
38:30 Free kick crossed by Doug Loft.
38:30 Booking Shane Cansdell-Sherriff shown a yellow card.
38:25 Shane Cansdell-Sherriff concedes a free kick for a foul on Marc Richards.
32:08 Free kick awarded for an unfair challenge on Lewis Haldane by Steven Leslie. Free kick crossed by Doug Loft, Chris Neal makes
29:30 Foul by Joe Skarz on Craig Davies, free kick awarded. Doug Loft takes the free kick.
25:01 Corner taken by Doug Loft played to the near post, clearance by Steven Leslie.
24:02 Outswinging corner taken left-footed by Doug Loft, Shane Cansdell-Sherriff makes a clearance.
Correction - 21:54 Kelvin Langmead challenges Craig Davies unfairly and gives away a free kick. Marc Richards fires a strike on goal direct from
the free kick.
21:54 Kelvin Langmead gives away a free kick for an unfair challenge on Craig Davies. Shot comes in from Marc Richards from the
free kick, blocked by Joe Skarz.
21:04 Unfair challenge on Shane Cansdell-Sherriff by Craig Davies results in a free kick. Shane Cansdell-Sherriff takes the free
18:48 Free kick awarded for an unfair challenge on Doug Loft by Terry Dunfield. Free kick taken by Doug Loft.
Correction - 18:21 Kris Bright has an effort at goal from outside the box which goes wide left of the target.
18:21 Kris Bright produces a right-footed shot from outside the penalty box and misses wide left of the target.
17:27 Marc Richards produces a right-footed shot from close in which goes wide of the right-hand upright.
16:44 Unfair challenge on Anthony Griffith by Terry Dunfield results in a free kick. Indirect free kick taken by Lee Collins.
14:08 Lewis Haldane produces a left-footed shot from inside the area that clears the bar.
11:17 Shot from outside the box by Marc Richards goes wide right of the target.
10:01 GOAL - Kris Bright:Port Vale 0 - 1 Shrewsbury Kris Bright finds the net with a goal from just outside the area to the bottom left corner of the goal. Port Vale 0-1 Shrewsbury.
9:12 Corner from the left by-line taken by Doug Loft, clearance by Shane Cansdell-Sherriff.
8:05 Shot by Lewis Haldane. Save by Chris Neal.
4:01 Corner taken by Steven Leslie from the right by-line to the near post, Adam Yates makes a clearance.
Correction - 3:24 Inswinging corner taken right-footed by Benjamin Van den Broek, Chris Martin makes a save.
3:24 Inswinging corner taken by Benjamin Van den Broek.
2:50 Free kick awarded for a foul by Adam Yates on Steven Leslie. Benjamin Van den Broek takes the free kick.
2:23 Marc Richards has an effort at goal from outside the area missing to the wide right of the target.
1:21 Benjamin Van den Broek concedes a free kick for a foul on Anthony Griffith. Direct free kick taken by Lee Collins.
1:02 Marc Richards challenges Terry Dunfield unfairly and gives away a free kick. Chris Neal takes the indirect free kick.
0:00 The referee starts the match.
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.