A second defeat over the Easter weekend left Oxford United's play-off ambitions hanging by a thread.
Matt Sparrow's 15th-minute strike turned out to be the difference at Glanford Park, as Scunthorpe got the win they needed to move to the brink of automatic promotion.
United battled hard, but lacked the guile to open up a well-drilled defence, apart from a bad miss from Alfie Potter to claim an instant equaliser.
Not for the first time in recent weeks, goalkeeper Ryan Clarke kept his side in the game, making a string of excellent saves.
It enabled the visitors to launch a late rally, but it came to nothing.
With York and Southend both winning, only the most optimistic United supporters will still fancy their chances of finishing in the top seven.
As promised, head coach Gary Waddock refreshed his line-up, making two changes from the 1-0 defeat to York City on Good Friday.
David Connolly replaced James Constable up front, while Potter came in for Ryan Williams on the right flank.
The visitors began on the front foot, forcing a couple of early corners.
But Scunthorpe, who had been knocked off top spot by Rochdale's win in the early kick-off, hit back.
Sam Winnall fired a warning shot in the fifth minute from an acute angle which Clarke could only parry. Dave Syers was first to the follow-up, but fired wide off balance.
Scunthorpe's movement caused problems and they went ahead on 14 minutes, as United's back four was pulled out of position.
Michael Collins got in down the left flank and his low cross towards Winnall attracted two defenders. When the striker allowed the ball to run it found an unmarked Sparrow, whose shot was powerful enough to find the net despite Clarke getting a touch.
United's best chance of the game arrived within seconds.
Dave Kitson's ball forward was left by David Connolly for Potter, who raced through on goal but dragged his shot wide.
It was a rare moment when Scunthorpe looked genuinely rattled before the break.
Considering Scunthorpe's position, both in the table and the game, the home fans were surprisingly impatient.
Paddy Madden had a good chance to calm their nerves on the half hour mark, when Sparrow blocked a clearance from Tom Newey.
It rebounded into the striker's path, but his low shot was smartly turned round the post by Clarke.
United finished the half with a solid spell in Scunthorpe territory, without carving out an opening.
They made a change for the restart, with Constable relaxing Connolly, who had suffered from a knock before the break.
It did little to alter the balance of the game, which remained in Scunthorpe's favour.
Winnall hammered a shot wide before turning provider with a header to set up Dave Syers, who was denied superbly by Clarke.
The goalkeeper made another smart stop midway through the half to tip Niall Canavan's header over the bar as the Iron pushed hard for a second goal.
With 15 minutes left Terry Hawridge became the latest Scunthorpe player to be thwarted by Clarke, who dived to his right to keep out the midfielder's powerful free-kick.
Despite the flow of the game, the lack of a second goal made the majority inside Glanford Park nervous whenever United went forward.
With eight minutes left, substitute Danny Rose swung in a corner for Constable to head into the ground and over.
Michael Raynes was swiftly pushed forward as a makeshift striker in the closing stages, which became increasingly frantic.
United sensed an opportunity as nerves frayed among the hosts and they forced more tense moments in the four minutes of time added on than they had in the previous 90.
Tom Newey had a shot deflected over and after a scramble at a corner where Clarke had pushed forward, Constable headed wide.
It was the final sight of goal and as the final whistle brought delight for the home fans, it signalled the end of United's realistic hopes of reaching the play-offs.
Oxford Utd (4-2-3-1): Clarke, Hunt, Raynes, Wright, Newey, Wroe, Ruffels, Potter, Kitson, O'Dowda, Connolly.
Subs used: Constable (Connolly ht), Williams (O'Dowda 59), Rose (Ruffels 71).
Unused subs: Crocombe, Long, Davies, Whing.
Scunthorpe Utd (4-4-2): Slocombe, Nolan, Canavan, Mirfin, Williams, Sparrow, Collins, Syers, Hawkridge, Winnall, Madden.
Unused subs: Severn, Ribeiro, Burton, Waterfall, Adelakun, Esajas, Hayes.
Referee: Scott Mathieson (Cheshire).
Attendance: 5,241 (340 visitors).