Reading escaped with a 1-1 draw from a feisty Sky Bet Championship play-off semi-final first leg at Fulham. Get the full report and reaction.
The free-scoring Cottagers dominated at Craven Cottage but had only Tom Cairney's header to show for their efforts.
Reading had taken a surprise lead through Jordan Obita, but after Cairney equalised they had to withstand a second-half onslaught.
They survived the final 10 minutes with 10 men after captain Paul McShane was sent off - the defender will now miss Tuesday's second leg and the final should they get there.
Fulham may have finished the season in sixth place but they were the joint-highest scorers in the division with 85 goals from 46 matches - including a 5-0 hammering of Reading here in December.
Royals boss Jaap Stam, presumably mindful of that mauling, opted for a five-man defence and displayed a clear intent to frustrate Fulham's potent attack.
Their midfielder John Swift even picked up a booking for time wasting, six minutes before half-time.
Fulham left their 16-year-old prodigy Ryan Sessegnon on the bench, despite it not being a school night, but they still created the better of the few chances in the first half.
The best of them fell to Sone Aluko, who was unmarked 12 yards out when he met Floyd Ayite's cut-back but pulled his shot across goal and wide.
Cairney curled an early effort high and wide, and Ayite shot wastefully into the side netting when he should have squared the ball in first-half stoppage time.
But for all their lack of ambition, Reading stunned the hosts when Obita fired them into the lead eight minutes after half-time.
Fulham felt Stefan Johansen was fouled in the build-up as McShane ploughed through the midfield and fed Obita on the left.
The full-back was not closed down quickly enough by Ryan Fredericks and drilled a low, angled drive in off the far post.
That setback merely served to fire Fulham up, however, and Johansen saw a long-range effort saved by Ali Al Habsi before they grabbed a 65th-minute equaliser.
Scott Malone's cross was palmed out by Al Habsi straight onto the head of Cairney, who nodded into an unguarded net for his 13th goal of the season.
McShane was then shown a straight red card for an awful challenge on Kevin McDonald, and the 10-man visitors were forced back deeper and deeper.
But Fulham were unable to find a way through with Ayite firing over from the edge of the area and Fredericks driving wide in stoppage-time.
Match reaction
Reading boss Jaap Stam on the ties still being wide open: "I'm not talking about 'advantage Reading'.
"We know what we can do, we are confident in our squad, and Fulham are a very talented team. Home advantage doesn't guarantee anything, we will have to work hard."
Stam on the red card: "I've seen it back, he hits the player, but he doesn't do that on purpose.
"He's trying to reach the ball and the player nicked it away and he was just a bit late.
"He's been very important for us throughout the season, but he's had injuries as well and other players needed to step up so we can win a game without Paul McShane.
"Obita twisted his ankle so we have to have a look at that. Tuesday is very close. Jordan and Macca are important but we have a big squad so I'm not over-worried.
"We trust all our players. I've seen plenty today to say we can still do it."
Fulham manager Slavisa Jokanovic: "We can't be completely satisfied. We didn't win the game.
"I believe we deserved to score more and win the game but everything is now open for the game on Tuesday night.
"We showed a good reaction after they scored. We had many chances but we were not clinical enough.
"But I didn't expect to beat them 5-0 like we did in December. We will push hard on Tuesday night."