The Alex were behind after just five minutes as Kenny Lunt's mis-hit pass found Smalley unmarked in the penalty area and the Latics winger wasted little time in beating goalkeeper Ben Williams at his near post from eight yards.
Oldham goalkeeper Mark Crossley pulled off a superb fingertip save to keep out Billy Jones' free-kick before using his feet to deny Lunt.
But things looked bleak for the Alex after 32 minutes when Eardley strolled past Gary Roberts and George Abbey before firing an unstoppable drive into the roof of the net.
Lewis Alessandra and Smalley both tested Williams before Eardley struck his second of the afternoon from 30 yards after 59 minutes.
Things went from bad to worse for the hosts as McDonald spun and shot home inside the box 10 minutes later and Steve Jones' 84th-minute strike was a mere consolation.