Paddy Madden struck both goals for the visitors, who moved up to eighth.
Tranmere stayed top after first-half strikes from David Amoo and Zoumana Bakayago helped them past Crawley 2-0.
Doncaster kept pace with them, winning 2-1 at Stevenage thanks to a come-from-behind victory. Iain Hume levelled the scores with 11 minutes to play, and Rob Jones struck a winner at the death.
Four points behind those two Brentford jumped to third with a 2-0 victory away at Oldham, with striker Clayton Donaldson's brace proving the difference.
Leyton Orient and Crewe took a deserved point from a 1-1 draw at Brisbane Road after the visitors' Byron Moore had cancelled out Lee Cook's opener.
Andy Williams earned Swindon a 1-1 draw at promotion rivals Bournemouth with an 85th-minute equaliser.
MK Dons were denied a victory at home to Bury after squandering first-half opportunities, before Steven Schumacher's volley earned the visitors a point in a 1-1 draw.
Charlie Wyke's second-half strike salvaged 1-1 draw for Hartlepool away at Shrewsbury, with Jon Taylor having opened the scoring.
Scunthorpe climbed out of the relegation zone at fellow strugglers Colchester's expense after claiming a vital 2-1 win.
Portsmouth's scheduled League One game against Notts County at Fratton Park on Saturday was postponed due to a waterlogged pitch.
- Sports & Recreation
- David Amoo
- Iain Hume