A review of Saturday's action in Sky Bet League 1.
Wolves closed the gap on Sky Bet League 1's top two sides with a 3-1 win at home to Bristol City thanks to two goals from Nouha Dicko.
The 21-year-old's 10th-minute strike was cancelled out by Sam Baldock's penalty but the Frenchman restored the lead when his cross-shot deflected in off defender Derrick Williams.
Bakary Sako's low drive 14 minutes from time saw Wolves move to within two points of second-placed Leyton Orient.
A 21-minute first-half hat-trick from Febian Brandy lifted Walsall into the play-off positions after a 5-1 drubbing of Notts County.
The on-loan Sheffield United winger opened his account in the 24th minute and completed his treble on the stroke of half-time.
Andy Butler and Craig Westcarr continued the punishment soon after the interval before Callum McGregor grabbed a consolation.
Struggling Oldham recovered from a 3-0 half-time deficit to beat Peterborough 5-4 in a thriller at Boundary Park.
Britt Assombalonga, Tommy Rowe and Lee Tomlin put the visitors into a commanding position only for Gary Harkins and David Worrall to pull it back to 3-2 10 minutes into the second half.
Nicky Ajose restored Posh's two-goal cushion only for James Wesolowski, Harkins - from the penalty spot after Lee Tomlin was sent off for handling on the line - and Genseric Kusunga to turn things around with the winner coming in the 90th minute as Oldham moved four points clear of the relegation zone.
Rotherham moved into fifth but required a Kieran Agard goal six minutes into added time to snatch a 2-2 draw at home to Crawley.
On-loan striker Matt Tubbs had put the visitors ahead, Agard equalised with penalty but Josh Simpson restored Crawley's lead midway through the half only for Agard to have the final say.
Nile Ranger and Michael Smith scored in the final two minutes as Swindon beat Shrewsbury 3-1.
Smith had originally given his side a 30th-minute lead but Paul Parry's goal on the stroke of half-time appeared to have earned the visitors a point until the late drama.
Matthew Pennington's 28th-minute goal was enough to give Tranmere a 1-0 win at home to Crewe and lift Rovers out of the bottom three.