Aston Villa booked their place in the Championship play-off final after a 4-3 penalty shootout win over West Brom after the tie had finished 2-2 on aggregate.
Villa goalkeeper Jed Steer was the hero, saving from Mason Holgate and Ahmed Hegazi, as Villa won on spot-kicks following Albion’s 1-0 win on the night.
They reached Wembley for a second successive season after losing last season’s final to Fulham but Dean Smith’s side will now face Leeds or Derby in the final on May 27.
Craig Dawson’s first-half header put the Baggies ahead to level the tie but, after dominating the second half, their hopes disappeared when skipper Chris Brunt was sent off with 10 minutes of normal time remaining.
Albion missed the chance for an instant return to the Premier League and must now resolve the future of caretaker boss Jimmy Shan.
An intense opening failed to conjure any clear chances, although Albion wanted a penalty when the ball struck Anwar El Ghazi.
Villa would have been content with their own efforts as they contained the hosts.
Goalkeeper Steer had nothing to do – until he picked the ball out of the net after 29 minutes.
The Baggies’ quality had failed to match their endeavour as they dearly missed banned 24-goal top scorer Dwight Gayle.
But they opened the scoring with the first serious chance of the game as Villa were undone by a simple throw in.
Mason Holgate tossed the ball to the edge of the six-yard box and Dawson rose to glance a fine header across the prone Steer which bounced in off the post.
The defender was taken off at half-time in the first leg and was sick in the dressing room after feeling dizzy but he gave the Baggies the perfect antidote following their Villa Park defeat.
Villa’s response was limited with John McGinn’s free-kick hitting the wall their only brief threat.
McGinn took issue with Brunt when the midfielder landed studs first on his arm but there was little the Baggies man could do to avoid it.
Villa were rattled and Albion turned up the heat after the break.
Brunt drilled over and then Jacob Murphy intercepted Steer’s pass out only for Tyrone Mings to hook clear into the onrushing Jay Rodriguez with the ball diverting over.
The striker then fired at Steer after 57 minutes and Matt Phillips nodded over soon after with the Baggies well on top.
They needed to make it count though and among the Albion pressure Sam Johnstone turned away El Ghazi’s low 20-yard effort.
But the momentum shifted with 10 minutes left when Brunt was dismissed.
McGinn robbed Hegazi on the edge of the box and Brunt, having been cautioned for an earlier foul on Axel Tuanzebe, recklessly dived in to receive a second yellow card.
Villa sensed their chance and Johnstone pulled off a superb stop to turn Albert Adomah’s snapshot wide with four minutes left.
There was no winner though as the tie went into extra time – Abraham missing the best chance when he headed at Johnstone with three minutes left.
Villa dominated but Albion took them to penalties and Steer saved from Holgate and Hegazi while Adomah missed for Villa before Abraham scored to send them through.