Fulham advanced to next week's Championship playoff final despite a 2-1 home loss to Cardiff City on Thursday after edging past its opponent 3-2 on aggregate.
The club will now face local rival Brentford, which beat Swansea City by the same aggregate score after Wednesday's 3-1 victory, in an all south-west London final at Wembley on Tuesday.
In a furious start, Cardiff, which had lost the first leg 2-0, stunned the host after eight minutes with centre back Curtis Nelson's header.
But Fulham struck back 24 seconds after the restart, snatching an equaliser through Neeskens Kebano to restore its two-goal advantage in the tie.
After conceding possession to Fulham for the rest of the first half, substitute Lee Tomlin put Cardiff back in front two minutes after the restart to set up a tense second half.
Cardiff keeper Alex Smithies kept his team in the game on several occasions with a string of superb saves, including tipping an Aboubakar Kamara shot onto the post in the 68th minute.
But despite late Cardiff pressure for a goal that would have sent the game into extra time, Fulham hung on to earn the chance to return to the Premier League after one season in the second tier.
“It wasn't pretty at all. It was the worst start you can think of,” Fulham captain Tom Cairney told Sky. “These 2-0 leads are a bit weird in your head. It feels comfortable but is not at the same time.
“We let ourselves down by not playing our normal game, and we invited pressure. But in the second half we dug in deep we got over the line.”
Fulham, which had finished one place above Cardiff in the final Championship table, last won a Championship playoff final two years ago, beating Aston Villa 1-0 at Wembley to earn promotion.
Brentford is looking to earn a spot in the top division for the first time in 73 years as it prepares to move to its new Brentford Community Stadium home for the 2020-21 campaign.