Reading's magnificent season was ended in the cruellest of fashions at Wembley Stadium on Monday afternoon as they suffered a penalty-shootout defeat to Huddersfield Town in the Sky Bet Championship play-off final.
After a goalless 120 minutes, the tie had to be decided from the spot and it was Town that came out on top, winning by four goals to three to secure their place in the top flight for next season.
The result was so, so tough on the Royals, who had given absolutely evening - not only at the national stadium but also over the course of the whole season.
Huddersfield created the best openings of the first half, Michael Hefele glancing a header wide and then Isaiah Brown missing from close range at the back post. But John Swift forced a good save from Danny Ward at the start of the second period - and the game, goalless, went into extra-time.
Nahki Wells and Garath McCleary both went close to finding the goal that would decide it, but the fate of our season was to be decided by a penalty shootout, which devastatingly was edged by the Terriers.
Jaap Stam named an unchanged eleven to stick with the side that overcame Fulham in the second leg of the semi-final. Jordan Obita joined the squad to take a place on the bench.
The first chance fell Huddersfield's way. Chris Gunter was penalised for holding onto Van La Parra and Aaron Mooy's inswinging free kick was met by the glancing head of Hefele who couldn't find the target as he arrived late into the six yard box.
At the other end, Lewis Grabban made good progress down the left but his floated far post cross couldn't find Yann Kermorgant and Huddersfield broke through the pace Wells who won his side the first corner of the game. Kermorgant was back to head clear.
David Wagner's men were the dominant side and squandered a glorious chance to break the deadlock when Brown passed the ball wide of the left upright from two yards out, somehow missing the target when connecting with Elias Kachunga's low dangerous cross.
Grabban took aim a minute later but arced his shot wide of the dive of Ward and the right upright. But the Terriers were looking the more dangerous and it took a good slide from Tiago Ilori to cut out a low Wells cross looking for Brown with 20 minutes played.
With half an hour gone, Swift looked for a one-two with Kermorgant 25 yards out but the ball was cut out before he could collect the return ball. Then Kermorgant won a free kick when he was tripped by Mooy, but Swift's shot from distance didn't trouble Danny Ward.
Van den Berg tried his luck from a similar distance but his speculative effort sailed high over the crossbar as the Royals tried to carve out an opening. And the Royals enjoyed some spells of possession, without being able to unlock the Town defence as the half neared an end.
There was still time for a cross to deflect off a Huddersfield head and behind for a last gasp corner. But Swift's inswinging delivery was headed clear and the referee blew for half-time.
Half-time: Huddersfield 0-0 Reading
Ali Al Habsi was called into action in the opening minutes of the second half, gathering in a strike from Smith that sailed into his arms from 25 yards out.
But at the other end, Swift forced Ward into a much more difficult save when he burst into the Terriers box and drive low and hard to Ward's left - the Huddersfield keeper parrying it to safety.
Kachunga and Brown caused the Royals problems down the right soon after, but a well-timed tackle from Van den Berg denied Town a shot at goal.
Ten minutes of the second half played and Gunter won a Royals corner on the right. Van den Berg floated it into the box but it was too far behind Kermorgant for the Frenchman to hook a volley on target, instead looping it high over the crossbar.
Reading won three headers in a row in midfield to allow Kermorgant to hook a ball over the top for Grabban to chase, but the striker's speculative early lob bounced wide of the right post.
Just after the hour, with the game still goalless, Obita was brought on in place of Van den Berg - the first substitution of a tight, tense affair at Wembley. David Wagner followed suit, replacing Kachunga with Colin Quaner moments later.
20 minutes left and Williams and Swift led a brilliant counter attack. The ball was swept out to Kermorgant on the right side whose early cross looked for Grabban - only for a Huddersfield defender to fly in to intercept before Grabban could angle an effort goalwards.
That was his last involvement, McCleary coming off the bench for the latter stages of the ninety minutes. But Huddersfield came close to the decisive goal when Mooy raced into space down the right, beat Williams and cut the ball back for Quaner who couldn't get the right connection on it to turn it goalwards and it skewed wide.
McCleary was brought down by Hefele at the other end, but Swift's canny dinked set piece was read by the Town defence who hacked the ball clear.
Moments later, the overlapping Gunter got in behind the Huddersfield back line and his near post cross was stabbed out before a sliding Kermorgant could connect. Moments later, an Obita cross from the right side picked out Ilori in the middle, but the defender could only help it on into the six yard box where it was deflected behind for another Royals corner.
Seven minutes of injury time were signalled after a lengthy injury to Town skipper Tommy Smith. And the Royals had half a chance to steal a winner when McCleary scurried into space down the left and floated a cross to the far post where Gunter headed just over the bar.
In the last of the seven minutes, Swift scampered inside off the left flank and drilled a shot wide of the bottom left corner. Then Wells, with the last kick of the ninety minutes forced a smart save from Al Habsi, low to his right.
Full-time: Huddersfield 0-0 Reading
The opening throes of extra time saw Swift turn Hogg down the left, but as he prepared to deliver a cross into the middle he lost his footing and the ball rolled out for a goal kick.
If normal time had seemed tense, extra-time took it to a new level as both teams looked to preserve their energy and find the killer pass that might make the difference.
Quaner came close to collecting a threaded throughball that ran through to Al Habsi in the end. Then McCleary took aim from 25 yards out but arrowed wide of the top right corner.
Then in first half injury time, McCleary rifled a low left-footed effort just wide with Ward sprawling. 15 minutes remained of the season and the teams remained inseparable.
The side netting rippled as Quaner shimmied past Obita, but a toe from the left-back was enough to deflect it behind for a corner which was delivered too deep for Hefele.
Ten minutes left on the clock and Kermorgant flicked Blackett's ball in behind the Town defence but it was too heavy for Kelly to run onto. Then Kermorgant almost released McCleary only for the linesman to raise his flag to signal for offside.
With five minutes remaining, a Huddersfield break handed Wells a glorious chance to steal victory - a low cross from the right fell to the forward's feet and he pivoted and dragged a right-footed shot just wide.
Seconds remained when Evans conceded a free kick, but Loewe's inswinging set piece was too deep for everyone. And this match would be decided from the penalty spot.
After extra-time: Huddersfield 0-0 Reading
Following the toss of the coin, it was decided that the spot-kicks would be taken in front of the Huddersfield supporters. The Royals would go first.
Kermorgant carried the ball from the half-way line to the spot and - after waiting an age for the referee's whistle - confidently dispatched his kick into the corner.
Loewe was first for Town and he beat Al Habsi to level the scores at 1-1.
Williams came next for Reading and coolly slotted down the middle to restore his side's lead. Centre-back Hefele then stepped forward for the Terriers, aimed to Al-Habsi's right and the goalkeeper guessed correctly to make a big save.
It was advantage Reading. Substitute Kelly hammered home to give the plucky Royals a 3-1 lead.
Town's Wells had big pressure on his shoulders when he stepped forward but made no mistake with his kick.
Moore was next for Reading. He couldn't hit the target, however, with his effort flying over the crossbar. Town would be back level if Mooy could score. He could, sending Al-Habsi the wrong way to make it 3-3 after four penalties each.
Obita stepped forward to take Reading's fifth but he could not hit the net as Ward made a strong save to his left-hand side.
That gave Schindler the chance to send the Terriers to the Premier League and he duly did so, stroking his penalty into the corner of the net to end the Royals' great season in the cruellest of manners.
Final score: Huddersfield Town 0-0 Reading (Huddersfield win 4-3 on penalties)
Huddersfield Town: Ward, Smith (c) (Cranie 88), Hogg, Loewe, Schindler, Hefele, Mooy, Kachunga (Quaner 66), Brown (Palmer 98), Van La Parra, Wells.
Subs: Coleman, Homes-Dennis, Whitehead, Hudson.
Yellow: Hogg, Kachunga, Smith.
Reading: Al Habsi, Gunter (c), Blackett, Ilori, Moore, Van den Berg (Obita 64), Evans, Williams, Swift (Kelly 99), Grabban (McCleary 74), Kermorgant.
Subs: Jaakkola, Beerens, Popa, Mendes.
Yellow: Van den Berg, Kermorgant, Obita.