Leeds United 1 Oldham Athletic 3
Both clubs were looking to recover from weekend defeats, Leeds having lost at Swansea while Oldham went down at home to Walsall.
Radostin Kishishev returned for the injured Jonny Howson for Leeds who also brought in David Prutton for Ian Westlake, while Oldham replaced Neal Eardley with Deane Smalley.
The Latics lost winger Chris Taylor when he suffered a leg injury in the 17th minute with no-one near him, Smalley leaving the bench to replace him.
However, Oldham refused to let Taylor's loss affect them and Reuben Hazell gave them a 28th-minute lead, chesting the ball down and striking a looping 20-yard half-volley past the startled Casper Ankergren.
Eight minutes later, Ankergren's excellent save from Craig Davies was at the expense of a corner and Neal Trotman headed in Neil Kilkenny's inswinger from eight yards.
Leeds' defensive nightmare continued when they conceded a third goal five minutes before the break. This time Davies crossed for Lee Hughes to guide the ball towards the far post where defender Andrew Hughes put through his own goal.
Leeds boss Dennis Wise responded by sending on strikers Leon Constantine and Tore Andre Flo for Kishishev and Seb Carole at the start of the second half and it paid off within 20 seconds, Constantine finishing off a neat build-up between Jermaine Beckford and Tresor Kandol.
Oldham continued to threaten and Ankergren needed to be alert to prevent an even heavier defeat, although Kandol had a goal cancelled out by a linesman's flag in the 67th minute and leading scorer Beckford sliced a shot badly wide after cleverly creating an opening inside the penalty box.