With a spot at Wembley on offer for two Premier League (PL) strugglers, it was little surprise to see these two sides energised in the opening stages.
Noah Okafor threatened first when he forced Alphonse Areola into a full-length stop, allowing West Ham to counter and force Lucas Perri into an even better save to deny Valentín Castellanos.
Perri was proving to be a busy man in the Leeds goal, and he had to be alert shortly after to parry away Jarrod Bowen’s stinging drive across goal.
Those stops looked even more significant midway through the first half when Leeds hit the front. Daniel Farke’s men saw a sweeping move rounded off by Ao Tanaka, who worked a yard inside the area and sent a deflected effort in off the underside of the bar via Axel Disasi.
And the Whites ought to have doubled their advantage when a lightning-quick breakaway sent Anton Stach racing through, but a strong hand from Areola denied the visitors from swiftly adding a second.
A disgruntled Nuno Espírito Santo made two attack-minded substitutions at half time, yet it was two of Nuno’s mainstays who manufactured their first clear sighting of goal in the second half, as Adama Traoré’s inswinging delivery was headed onto the post by Valentín Castellanos.
That came back to haunt the Hammers when Max Kilman’s clumsy challenge inside the area brought down Brenden Aaronson, allowing Dominic Calvert-Lewin to dispatch the resulting spot-kick.
With time ticking away, Wilfried Gnonto’s clever flick from Jayden Bogle’s cross-shot flashed inches wide of the post, and his miss proved to be costly.
Matheus Fernandes netted what seemed to be just a consolation goal, with Leeds’ 9,000-strong travelling contingent able to taste what would’ve been, for the first time in a generation, an FA Cup semi-final.
But a huge sting in the tail came in the sixth minute of stoppage time when Traoré’s delivery was turned home by the head-high boot of Disasi, who survived a VAR check to see the game into extra time.
A crazy start to the additional 30 minutes saw Castellanos seemingly fire the Hammers ahead inside two minutes, only for a marginal offside call to rule out his goal, moments before Tomáš Souček blocked James Justin’s goalbound strike on the line at the other end.
West Ham pressure was incessant at times, and they had the ball in the net once more before HT of ET as Pablo fired home after Bowen had rattled the woodwork, but once more, an offside call cut short their celebrations.
The second half of extra time was a more subdued affair, with the main headline an injury to Areola, which forced the Hammers to hand a first-team debut to Finley Herrick, who was thrust into the spotlight for the penalty shootout.
He managed to save Joël Piroe’s spot-kick, but misses from Bowen and Pablo allowed Pascal Struijk to fire Leeds to Wembley with their fifth penalty, booking their semi-final spot for the first time since 1957.