Ivan Toney was the match-winner as the Iron recorded a vital win at play-off rivals Charlton Athletic, and their first at the Valley since 1963.
Toney scored just past the half hour mark, firing home from close range after Hakeeb Adelakun’s had broken the offside trap and played the ball across goal to him.
The result sent United back up to fifth place with four games of the season remaining, leapfrogging the Addicks after results elsewhere had gone their way on the day.
The Iron made one change ahead of the game, with Funso Ojo returning from a knee injury to replace Neal Bishop in the starting line-up.
The hosts put United under some early pressure, winning a corner after Conor Townsend blocked a cross. However, Rory McArdle headed away the threat.
The first chance of the match arrived Scunthorpe’s way on four minutes, as a free-kick was floated into the area by Adelakun. However, Jordan Clarke could not get a clean connection on his volley at the far post and the ball went out for a goal kick.
Two minutes later there was another chance for the Iron as Toney held the ball up well and laid it off for Ryan Yates, who took a shot but saw it deflected behind for a corner, from which nothing came.
The Iron continued to press and frustrate their hosts, with Amos drawn into a good save in the 19th minute. Duane Holmes broke with the ball and played a delicate pass through to Adelakun, but his powerful low shot was stopped by the feet of the home goalkeeper.
A minute later, Matt Gilks had to make a great save for United. Ex-iron Nicky Ajose struck the ball from distance, but the experienced shotstopper palmed it away.
On 21 minutes, a Charlton free-kick was curled into the area but Aribo’s header flew over the crossbar.
Moments later, Michal Zyro turned outside the box and struck a shot for the home team, but Gilks found it easy to gather.
Scunthorpe went ahead in the 31st minute, as Clarke played Adelakun through down the right, beating the offside trap. The winger then rolled the ball across the face of goal for Toney to slot into the back of the net for his sixth goal since returning on loan from Newcastle in January.
United continued to threaten and Holmes took the ball into the opposition half before passing back to Townsend, but the full-back’s cross bounced out for a goal kick.
Jake Forster-Caskey then looked to play Ajose in two minutes later, but Gilks was alert to come off his line and get to the ball.
There was a great Iron counter-attack just before half-time as Toney headed away a Charlton corner and Holmes went on an adventurous run before winning a free-kick on the edge of the Addicks’ box. Josh Morris then curled the subsequent set-piece over the crossbar.
The start of the second-half almost saw a wonder goal for Toney. Rory McArdle played a free-kick over the top of the Charlton defence and the frontman powered a volley towards the goal with his left foot, but Amos tipped it behind for a corner.
The next chance came Charlton’s way on 58 minutes when Ajose controlled the ball before bending a shot over the crossbar from the edge of the box.
United threatened again, winning a corner before Morris rolled the ball to Adelakun, who saw his effort blocked from a tight angle.
The ball went out for another corner as a result and Murray Wallace managed to get the ball into the back of the net, but it didn’t stand as McArdle was adjudged to have fouled the goalkeeper shortly before.
Soon after, Adelakun showed some good skill on the edge of the area before getting a shot away, which was also deflected out for a corner. However, Charlton cleared the subsequent set-piece.
There were a couple of Iron substitutions with Lee Novak and Cameron McGeehan replacing Toney and Holmes.
Soon after coming on, Novak spread the ball wide to Adelakun. The winger came inside and shot, but Amos put it behind for a corner.
Yates then showed bravery and did well to block a shot from Reeves. Gilks later collected the ball for the Iron.
On 77 minutes, McGeehan had a go from 30-yards, but his low strike was saved by Amos, who held the ball.
A further Scunthorpe change was made with five minutes left, as Marnick Vermijl came on for Adelakun.
The hosts tried to get the equaliser in the closing stages and substitute Tarique Fosu struck an effort wide of Gilks’ bottom left-hand post in the 86th minute.
They kept pressing, and there were five minutes of added time. Fosu skillfully found space on the edge of the area again in the first of those but his drive was deflected into the arms of Gilks.
Again, Fosu came close in the dying moments after home goalkeeper Ben Amos had come up for a corner. The ball reached the attacker, but his thunderous drive cleared the crossbar.
The full-time whistle was eventually blown, and the Scunthorpe players celebrated a much-needed and important win with the jubilant following of 586 fans from North Lincolnshire.
The Iron return to action next Saturday when they play Walsall at Glanford Park.
Charlton Athletic: Amos, Dijksteel, Bauer, Pearce, Dasilva, Forster-Caskey, Aribo (Mavididi, 76), Reeves, Kaikai (Fosu, 53), Zyro (Magennis, 53), Ajose.
Substitutes: Phillips, Lennon, Konsa, Kashi.
Scunthorpe United: Gilks, Clarke, Townsend, Wallace, Ojo, Toney (Novak, 70), Morris, Adelakun (Vermijl, 84), Holmes (McGeehan, 76), McArdle, Yates.
Substitutes: Watson, Bishop, Hopper, Burgess.
Attendance: 11,877 (586 away).