Match ends, Huddersfield Town 0(4), Reading 0(3).
Huddersfield Town have been promoted to the Premier League for the first time by beating Reading 4-3 on penalties at Wembley on Monday.
After a 0-0 draw in 120 minutes, it was a second successive shootout win for Town, who defeated Sheffield Wednesday on spot-kicks in the semi-finals.
Christopher Schindler won it after Liam Moore blazed over and Jordan Obita's effort had been saved by Danny Ward.
The West Yorkshire club have not played in the top flight since 1972.
- Huddersfield players 'have gone from heroes to legends', says Wagner
- Huddersfield's play-off final win as it happened
- Listen: 'Holloway relegation tip inspired Huddersfield promotion'
In a game lacking in chances, Huddersfield's Izzy Brown missed an open goal when he bundled off target at the back post from close range early on.
Victory capped a remarkable reversal of fortunes for David Wagner's side, who finished 19th last season, and the club can expect a windfall of at least £170m over the next three seasons by winning promotion.
They will surely feel they deserved the win on the balance of play, having created the two clearest chances in the game, both in the opening 10 minutes.
Defender Michael Hefele headed off target from an Aaron Mooy free-kick, before Brown's miss in the ninth minute.
Reading, who finished four points and two spots higher than the fifth-placed Terriers in the Championship, will now be left to reflect on a fourth play-off final defeat.
Underdogs Terriers show their bite
Huddersfield boss Wagner has masterminded an unbelievable turnaround to take Town back to the top flight after a 45-year absence.
The Terriers reportedly have the fifth-lowest budget in the second tier but spent all but eight days of the season in the top six.
They started terrifically at Wembley with their high pressing and energy threatening to overwhelm the Royals. They should have taken the lead when Tommy Smith and Elias Kachunga linked up well, before the latter sent a low cross in that Brown shinned wide from two yards out.
Although they could not capitalise on their start, they managed the attacking efforts of Reading comfortably.
They fell behind in the shootout when Hefele's tame effort was saved by Ali Al-Habsi, but they were not to be denied what Wagner had called their "fairy tale end".
Monday's victory means Town have won four play-off finals, three of them on penalties.
Wagner and Town get the job done
What perhaps makes Huddersfield's play-off final win even more incredible is that they scored just once in their three play-off games.
Their season has been marked by their ability to find a way to win matches, with 22 of their 25 league victories coming by a single-goal margin. Despite so many victories, they ended the regular season with a negative goal difference.
Promotion to the Premier League vindicates Wagner's decision to turn down both Aston Villa and German side Wolfsburg before Christmas.
Whether they can now buck a trend which has seen the past three Championship play-off final winners relegated straight back to the second tier remains to be seen, but their new standing should make a compelling case for the 45-year-old to remain at the John Smith's Stadium this summer at least.
Man of the match - Aaron Mooy (Huddersfield)
The Australia midfielder - on loan from Manchester City - has been incredibly influential throughout the season and his energy and guile drove his side forward for 120 minutes. Town will surely be desperate to keep the 26-year-old at the club.
Huddersfield head coach David Wagner told BBC Radio Leeds:
"I'm one of the most happy men on the planet today. I'm so proud of this group of players, what they've done over the whole season.
"There was no doubt about whether we were able to handle the atmosphere. After what they did in the semi-final, I thought the circumstances wouldn't be a problem.
"This competition is really hard. If you win it you like it, but my thoughts are as well with the other three teams which had unbelievable seasons, especially Reading."
Reading manager Jaap Stam:
"It's always hard if you lose, even if it's a league game or whatever. What we achieved this season is great. We've made progress, we finished in the top six and we played in the play-off final.
"The boys have done what they've been doing all season, trying to give everything to get the maximum out of the game.
"We got to the shootout, where it's basically a lottery. What's important for me is that the players took responsibility. They knew what they needed to do.
"Of course everyone's disappointed that we haven't won and we haven't gone to the Premier League. We need to give it another shot next season. It's hard but that's how it goes."
- 2SmithBooked at 75minsSubstituted forCranieat 88'minutes
- 6HoggBooked at 29mins
- 9KachungaBooked at 61minsSubstituted forQuanerat 66'minutes
- 37BrownSubstituted forPalmerat 98'minutes
- 17van La Parra
- 26Al Habsi
- 4van den BergBooked at 17minsSubstituted forObitaat 64'minutesBooked at 105mins
- 8SwiftSubstituted forKellyat 100'minutes
- 18KermorgantBooked at 19mins
- 50GrabbanSubstituted forMcClearyat 74'minutes
- Neil Swarbrick
- Shots on Target
Penalty Shootout ends, Huddersfield Town 0(4), Reading 0(3).
Goal! Huddersfield Town 0(4), Reading 0(3). Christopher Schindler (Huddersfield Town) converts the penalty with a right footed shot to the bottom left corner.
Penalty saved! Jordan Obita (Reading) fails to capitalise on this great opportunity, left footed shot saved in the bottom right corner.
Goal! Huddersfield Town 0(3), Reading 0(3). Aaron Mooy (Huddersfield Town) converts the penalty with a right footed shot to the bottom left corner.
Penalty missed! Still Huddersfield Town 0(2), Reading 0(3). Liam Moore (Reading) hits the bar with a right footed shot.
Goal! Huddersfield Town 0(2), Reading 0(3). Nahki Wells (Huddersfield Town) converts the penalty with a right footed shot to the bottom right corner.
Goal! Huddersfield Town 0(1), Reading 0(3). Liam Kelly (Reading) converts the penalty with a right footed shot to the top left corner.
Penalty saved! Michael Hefele (Huddersfield Town) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Goal! Huddersfield Town 0(1), Reading 0(2). Danny Williams (Reading) converts the penalty with a right footed shot to the centre of the goal.
Goal! Huddersfield Town 0(1), Reading 0(1). Chris Löwe (Huddersfield Town) converts the penalty with a left footed shot to the bottom left corner.
Goal! Huddersfield Town 0, Reading 0(1). Yann Kermorgant (Reading) converts the penalty with a right footed shot to the bottom left corner.
Penalty Shootout begins Huddersfield Town 0, Reading 0.
Second Half Extra Time ends, Huddersfield Town 0, Reading 0.
Foul by George Evans (Reading).
Kasey Palmer (Huddersfield Town) wins a free kick on the right wing.
Liam Moore (Reading) wins a free kick in the defensive half.
Foul by Nahki Wells (Huddersfield Town).
Attempt missed. Nahki Wells (Huddersfield Town) right footed shot from the centre of the box is close, but misses to the left. Assisted by Kasey Palmer with a cross following a fast break.
Chris Gunter (Reading) wins a free kick on the right wing.