Three goals in the final eight minutes gave Reading an unlikely win over West Brom at the Madejski Stadium.
Romelu Lukaku had scored either side of half-time to give the dominant Baggies a deserved lead.
But Jimmy Kebe pulled one back before Adam Le Fondre's penalty drew the home side level with two minutes to go.
Pavel Pogrebnyak dived in from close range to put Reading ahead on 90 minutes and they hung on for only their third win of the season.
The dramatic finale keeps Reading in 19th position, two points clear of QPR at the foot of the Premier League table, while West Brom will wonder how they failed to earn anything from a game they controlled until the final stages.
Royals manager Brian McDermott handed a debut to Portuguese midfielder Daniel Carrico, who signed from Sporting Lisbon at the start of January.
A run of two wins in the last eight games had seen West Brom slip back from a high point of third in the table, but despite the recent wobble in form, the Baggies were already 11 points better off than at the same stage last season.
The home side started brightly and ensured much of the opening phase was played in West Brom's half, but despite a series of corners West Brom's defence prevented goalkeeper Ben Foster from seeing much of the ball.
But it was Foster's opposite number, Adam Federici, who made the game's first save of note after a quarter of an hour, palming away a shot that James Morrison had hit on the half-volley from the edge of the box.
The chance was a warning note from the visitors, who took the lead a minute later when Morrison turned provider. The Scot combined with Lukaku to peel away to the left before placing a low cross that the on-loan Chelsea striker converted from inside the six-yard box for his eighth goal of the season.
Reading responded with urgency, but without enough guile or craft to threaten Foster. Jimmy Kebe's poor first touch to a long clearance allowed the West Brom defence to recover.
Carrico's debut came to abrupt end at half-time when McDermott replaced him with Garath McCleary, but the change made little difference to the confident visitors, and especially Lukaku.
The Belgian striker saw a last-ditch block from Adrian Mariappa stop him from hitting the target, and he had the ball in the net a minute later when he stretched to poke the ball home, only to be flagged for offside.
Lukaku hit the post and the bar before finally getting his second, racing on to a clearance from defence to shoot low past Federici's left hand to put West Brom within reach of all three points.
But Reading transformed in the latter stages to grab a much-needed win. Kebe stooped low to head home McCleary's cross, and it was Kebe who was clumsily fouled by Jonas Olsson to give substitute Le Fondre the chance to equalise from 12 yards.
Spurred on by a raucous home crowd, Reading sealed their comeback in the final minute of normal time when Pogrebnyak bundled in a knock-down from Alex Pearce past Foster.
Just a few minutes earlier Reading had been set to slip to the foot of the table, but the turnaround now puts them three points short of Aston Villa in the relegation zone.
Reading manager Brian McDermott said: "I'm looking forward to watching the last eight minutes of that game! It just sums up the atmosphere around the Madejski Stadium, the crowd really got us back into the game. Once Jimmy scored, they were fantastic.
"That was a big three points today, I thought the character and resilience of our players was excellent.
"We were a little bit flat in the first half, they hit the bar and the post, but we stayed in the game and showed quality when we needed to."
West Brom manager Steve Clarke said: "We went from complete control of the game to somehow losing a game we should have won comfortably.
"I'm a little bit shell-shocked. For 81 minutes we had so much control of the game, we created chances, hit the crossbar and post, and scored two good goals.
"We were so far in front you could not see the end to the game coming. But football can sometimes be a strange game."