Two dramatic goals in the last five minutes - both hammered into the top left hand corner - gave Rovers their first home win in nine games.
The Latvian international Vitalijs Astafjevs volleyed the first after 85 minutes and Wayne Carlisle blasted the second in the 87th after Scunthorpe's Mark Jackson had given away a free kick 22 yards out.
The Iron, who had been leading by Martin Carruthers 15th goal this season, could not believe it.
They lost their cool and saw midfielder Wayne Graves red carded near the end.
Defeat made their play-off hopes look that much less secure, but the three points for battling Rovers boosted their hopes of avoiding relegation to the Conference.
Their new spirit was evident early on when Paul Tait led a breakout from a corner with a weighted cross field ball which put David Gilroy on a solo run deep into the heart of Scunthorpe's defence.
As his run lost momentum, Astafjevs came up on his right with a rising shot onto the bar.
Scunthorpe were soon back with another corner and this time Steve Torpey put a header fractionally too high.
Rovers' back line came under increasing pressure and twice they looked to Kevin Austin in gratitude, as his experience and reading of the game got them out of trouble.
Scunthorpe were building their attacks well around playmaker Ian Kilford but were still liable to be caught out by the enthusiasm behind Rovers' solo runs.
They were a shade lucky when Tait was ruled offside just before the break as he netted at the second attempt.
There was an even closer call in the second half when Carlisle hit the foot of the post with keeper Tom Evans badly positioned.
Scunthorpe still thought they were heading for their sixth away win when a wretched mistake by Austin led to Carruthers 64th minute goal.
The centre back let the ball run under his foot onto the striker. Left in the clear, Carruthers picked his spot and slid his shot wide of keeper Scott Howey.