Scunthorpe climbed off the bottom of the table with a shock victory over Championship leaders QPR.
Rangers looked on course to getting one of the three wins they need to secure promotion when Rob Hulse headed in.
But Joe Garner scored with a header and neat finish either side of half-time to hand the hosts control in new manager Alan Knill's second game in charge.
Michael O'Connor added a superb long-range third before Mark Duffy made sure in clincial fashion late on.
The visitors started well as midfielder Hogan Ephraim sent an 18-yard shot narrowly wide, and they soon opened the scoring when Hulse nodded in Wayne Routledge's teasing cross from the right flank.
And the west Londoners nearly added a second two minutes later when a drilled 18-yard shot from Routledge drew a fine parried save from Joe Murphy.
But on-loan Nottingham Forest striker Garner pulled Scunthorpe level in the 28th minute when he rose well to meet O'Connor's whipped free-kick and planted a firm header past Paddy Kenny.
Scunthorpe took the lead after the restart when Garner showed a clinical touch to sweep the ball home, right-footed, from six yards out.
Ephraim then volleyed wide for Rangers with a 25-yard shot but Scunthorpe moved further ahead in the 58th minute when O'Connor lashed a superb 30-yard strike into the top corner.
The hosts deservedly grabbed their fourth in the 79th minute when Duffy met Chris Dagnall's cross with a smart shot from 12 yards out as Knill's men bounced back in style from last week's crushing 6-0 loss at Norwich.
But QPR were granted a repreive on Saturday as second-placed Norwich failed to close in on their nine point lead after losing 3-0 at Swansea.
Scunthorpe manager Alan Knill: "This was a massive win for us. After last week's 6-0 defeat at Norwich the first thing I wanted from my team today was a performance.
"I wanted to see them more like the Scunthorpe teams I have always known, full of energy and making life difficult for the opposition. I have to confess I thought 'here we go again' when Rangers opened the scoring.
"But it shows great character from my team that we came back and beat the team that has been the best in our league all season. We are still in a difficult position and we've got a big match coming up against Reading where we need another big performance."
QPR boss Neil Warnock: "It was one of those days that sometimes happens in football. It was a game that we could and should have won. We were much the better team for the first half.
"We had the chances but we failed to take them. We have got the best defensive record in the Championship this season and one of the best I think in the whole of the Football League.
"But we didn't look like that today. I have no complaints about the result, we got what we deserved. But we've got to look ahead, we've got another game coming up on Tuesday [at Barnsley] and I already know the team that I'll be picking for that."