A Carl Winchester goal six minutes from time was the difference between the two sides in front of a bumper crowd of 4,125 at Glanford Park.
Manager Mark Robins opted to stick with the same eleven that impressed at Leyton Orient last weekend, meaning a place on the bench for new Dutch striker Kevin van Veen.
After a fairly quiet ten minutes, the first chance of the game came when Gary McSheffrey’s free kick was whipped in and deflected towards Neal Bishop, whose shot on the turn was just wide of goalkeeper Jake Kean’s post.
Oldham’s first real shot of note came when Joseph Mills laid the ball off to Timothy Dieng, but his shot was never troubling Luke Daniels and went well wide.
Former Iron striker Jonathan Forte was the next to have a go but his acrobatic attempt at a scissor kick went well over Daniels’ crossbar.
United weren’t keeping possession well but they had the best chance of the game at that point when Jordan Clarke’s ball into the box met the head of Tom Hopper, but the frontman’s effort was inches wide of the far post when most of the ground thought the ball was in.
Oldham should have taken the lead themselves when they floated in a free kick towards a free George Elokobi at the far post and he nodded the ball across for James Wilson, who shot wide when it looked easier to score.
The teams went in goalless at the break in a fairly uneventful game. Oldham just about had the better of the opening half and manager Mark Robins will have been hoping for more of an attacking threat in the second half.
Despite that, it was the away side that were making all the running in the opening exchanges and Wilkinson headed straight at Daniels within seconds of the restart.
Following that, a corner from the Latics found Liam Kelly but he headed into the ground and over the top of the bar.
The Iron went up the other chance and had a great chance to take the lead when O’Neil whipped in a free kick and Hopper’s shot was well saved by Kean.
Moments later, the ball was in the back of the net when the ball bounced through to Paddy Madden and he smashed the ball past Kean but the effort was disallowed for offside.
It capped a lively beginning to the half, with the next opportunity coming when Forte was put through and used his pace to get himself one on one with Daniels, but the former West Brom keeper got down well to save.
United were beginning to look threatening as the game headed towards its conclusion and with just under 20 minutes left, Iron fans were treated to their first glimpse at Kevin van Veen, who replaced Tom Hopper as United pushed for a winner.
His first action in an Iron shirt saw an attempt at a shot blocked as the sound of his name rung around Glanford Park.
The Dutchman was then played in by O’Neil and laid the ball off to Paddy Madden, whose snap shot was just wide of the post.
Despite the Iron looking more threatening, that also left them more open at the back and Oldham took the lead in the 84th minute through Carl Winchester.
It was a neat finish from the Oldham man, who broke through the middle into space and slotted the ball past the advancing Daniels.
In the final minute of normal time, Madden cut inside from the wing but shot wide of the far post.
United tried to get forward but it wasn’t to be and Oldham came away with the three points, with the team now heading to the Ricoh Arena to face Coventry City on Tuesday night.
Scunthorpe United: Daniels, Clarke, Boyce, Canavan, Williams, Bishop, O'Neil (Evans, 68), Osbourne (Adelakun, 90), McSheffrey, Madden, Hopper (van Veen, 81).
Substitutes not used: Anyon, Nolan, Murphy, Davey.
Oldham Athletic: Kean, Mills, Dieng (Mellis, 63), Elokobi, Kelly, Jones (Murphy, 78), Forte, Winchester, J Wilson, Wilkinson (Poleon, 85), B Wilson
Substitutes not used: Brown, Coleman, Kasunga, Turner
Attendance: 4,125 (609 away).