Reading escaped with a 1-1 draw from a feisty Sky Bet Championship play-off semi-final first leg at Fulham.
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.