The Latics had the best chance of a scrappy first half but Matt Smith headed over from David Mellor’s cross.
Crawley’s Billy Clarke had a near-post effort blocked by home goalkeeper Dean Bouzanis, who also had to grab a deflection off Smith that threatened to find his own net.
It was Smith who gave Oldham a 56th-minute lead – his third goal in consecutive games – as he bundled through the heart of Crawley’s defence and hit a 20-yard drive into the bottom corner of the net.
Robbie Simpson almost added a second but the visitors equalised after 77 minutes when a short corner routine ended with defender Mark Connolly heading in from point-blank range.
Oldham snatched victory in injury time as Jose Baxter’s free-kick to the far post was headed in from three yards out by Jean Yves Mvoto.