Richard Walker scored twice as Bristol Rovers came back from a goal down to beat Shrewsbury in the League Two play-off final and earn promotion.
Walker celebrates after levelling for Bristol Rovers
The Shrews led when Stuart Drummond met Neil Ashton's free-kick to head home.
But Walker replied with a neat finish from Ryan Green's low cross before putting Rovers ahead with a deft chip.
Shrewsbury went close through Derek Asamoah but they had Marc Tierney sent off before Sammy Igoe broke away to seal Rovers' victory in injury time.
Success at Wembley in front of a bumper crowd of 61,589 caps a remarkable season for Rovers, who played at the Millennium Stadium in April when they lost to Doncaster in the Johnstone's Paint Trophy final.
Walker and Igoe also notched in that game - which was the last time Paul Trollope's side tasted defeat - and the Pirates join neighbours Bristol City in celebrating promotion this term.
But Rovers had to do it the hard way after falling behind after only three minutes.
Ashton whipped in an enticing free-kick from the right and Drummond leapt highest to glance his header past Steve Phillips and into the bottom corner of the net.
Rovers were clearly rattled by falling behind so early on and, with Asamoah looking lively on the right flank, Shrewsbury threatened to extend their lead.
Ashton should have done better when Green poked Asamoah's cross into his path but he failed to connect with his shot.
And soon after Rovers were level when Green made ground on the right flank before finding Walker, who fired past Chris MacKenzie with a cool first-time finish.
Another Asamoah cross almost set up Andy Cooke to restore Shrewsbury's advantage but instead they found themselves behind on 35 minutes.
Walker raced clear of the Shrews defence and took one touch to compose himself before lifting the ball over MacKenzie and into the net.
It was a sumptuous finish by the former Aston Villa trainee and his 23rd goal of the season.
Shrewsbury's response was to keep coming forward but Gary Peters' side were frustrated by some resolute Rovers defending.
Steve Elliott made a tremendous last-ditch tackle to deny Drummond before Phillips made a brilliant reaction save to deny Asamoah.
Rovers were under mounting pressure but Shrewsbury's hopes were all but ended when Tierney saw red after a late tackle on Stuart Campbell.
The Shrews' last throw of the dice was to send keeper Mackenzie forward for an injury-time corner but they were punished when Igoe broke away and tapped the ball into an empty net.
That put the seal on the Pirates' victory and made sure of only the fourth promotion in the club's history.
Bristol Rovers manager Paul Trollope:
"It has been a great day at the end of a long season and the players have been magnificent.
"We showed good character and mental strength to get back from going a goal down early.
"It's great to be going up a division, and with a new stadium around the corner it's exciting times for us."
Shrewsbury boss Gary Peters:
"We had good possession and good chances, but we didn't take our chances and that was the difference.
"It's obviously very disappointing, but we'll be better because of it. Our lads are young and they'll come back.
"The season just caught up with us. We had four extra games in the second half of the season."
Bristol Rovers: Phillips, Ryan Green, Anthony, Elliott, Carruthers, Haldane (Rigg 64), Disley, Campbell, Igoe, Lambert, Walker.
Subs Not Used: Mike Green, Lines, Sandell, Lescott.
Booked: Campbell, Walker.
Goals: Walker 21, 35, Igoe 90.
Shrewsbury: MacKenzie, Herd (Burton 84), Hope, Langmead, Tierney, Asamoah, Hall, Drummond, Ashton, Cooke (Humphrey 73), Symes (Fortune-West 80).
Subs Not Used: Esson, Leslie.
Sent Off: Tierney (89).
Booked: Cooke, Tierney.
Goals: Drummond 3.
Ref: M Jones (Cheshire).