Paul Green and Ryan McLaughlin scored their first goals for the Latics, who completed back-to-back home victories under recently returned boss John Sheridan to move to within three points of safety.
Oldham gave free admission to all fans in a bid to arrest their decline in attendances.
And the majority of a 7,224 crowd were almost celebrating the breakthrough in the 19th minute, only for McLaughlin's shot to be deflected inches wide.
Oldham threatened again when Green pulled back a right-wing cross and Peter Clarke fired over from 10 yards.
The hosts also made a bright start to the second half, with Green testing Posh goalkeeper Luke McGee and Clarke seeing his header cleared off the line by Michael Smith.
Oldham struck after 69 minutes when Dominic Ball hauled down McLaughlin and Green slotted in the penalty, sending McGee the wrong way.
The lead was doubled eight minutes from time as McLaughlin tapped in a six-yard volley after fine build-up play by Anthony Gerrard and Aaron Amadi-Holloway.
Peterborough were well below par and did not go close to scoring until injury time when Marcus Maddison clipped the bar from distance.
Report supplied by the Press Association.
Match ends, Oldham Athletic 2, Peterborough United 0.
Second Half ends, Oldham Athletic 2, Peterborough United 0.
Attempt missed. Ousmane Fane (Oldham Athletic) right footed shot from outside the box is close, but misses to the left.
Marcus Maddison (Peterborough United) hits the bar with a left footed shot from outside the box.
Jamie Reckord (Oldham Athletic) wins a free kick on the right wing.
Foul by Marcus Maddison (Peterborough United).
Foul by Ousmane Fane (Oldham Athletic).
Dominic Ball (Peterborough United) wins a free kick in the defensive half.
Substitution, Oldham Athletic. Michael Ngoo replaces Aaron Holloway.
Substitution, Oldham Athletic. Billy McKay replaces Ryan McLaughlin.
Goal!  Oldham Athletic 2, Peterborough United 0. Ryan McLaughlin (Oldham Athletic) right footed shot from the right side of the six yard box to the centre of the goal. Assisted by Aaron Holloway.
Attempt saved. Oliver Banks (Oldham Athletic) right footed shot from the centre of the box is saved in the bottom left corner.
Foul by Ryan McLaughlin (Oldham Athletic).
Leonardo Da Silva Lopes (Peterborough United) wins a free kick on the right wing.
Ousmane Fane (Oldham Athletic) wins a free kick in the defensive half.
Foul by Michael Bostwick (Peterborough United).
Ryan Flynn (Oldham Athletic) is shown the yellow card for a bad foul.
Foul by Anthony Gerrard (Oldham Athletic).
Paul Taylor (Peterborough United) wins a free kick in the defensive half.
Corner,  Oldham Athletic. Conceded by Andrew Hughes.
Attempt missed. Peter Clarke (Oldham Athletic) header from the centre of the box is close, but misses to the left.
Corner,  Oldham Athletic. Conceded by Ryan Tafazolli.
Substitution, Peterborough United. Junior Morias replaces Tom Nichols.
Attempt missed. Aaron Holloway (Oldham Athletic) right footed shot from the right side of the box is too high.
Corner,  Oldham Athletic. Conceded by Dominic Ball.
Attempt missed. Paul Taylor (Peterborough United) right footed shot from outside the box is close, but misses to the left.
Goal!  Oldham Athletic 1, Peterborough United 0. Paul Green (Oldham Athletic) converts the penalty with a right footed shot to the bottom right corner.
Penalty Oldham Athletic. Ryan McLaughlin draws a foul in the penalty area.
Penalty conceded by Dominic Ball (Peterborough United) after a foul in the penalty area.
Corner,  Oldham Athletic. Conceded by Andrew Hughes.
Attempt blocked. Aaron Holloway (Oldham Athletic) right footed shot from the right side of the box is blocked.
Corner,  Oldham Athletic. Conceded by Michael Smith.
Paul Green (Oldham Athletic) wins a free kick on the right wing.
Foul by Andrew Hughes (Peterborough United).
Attempt blocked. Ryan McLaughlin (Oldham Athletic) right footed shot from outside the box is blocked.
Foul by Ousmane Fane (Oldham Athletic).
Leonardo Da Silva Lopes (Peterborough United) wins a free kick in the defensive half.
Substitution, Peterborough United. Leonardo Da Silva Lopes replaces Gwion Edwards.
Substitution, Peterborough United. Paul Taylor replaces Lee Angol.
Paul Green (Oldham Athletic) wins a free kick on the right wing.
Oldham boosted their League One survival hopes with victory over play-off chasing Peterborough.