JOE Garner hit a second-half hat-trick as Preston came from 2-0 down to secure a sixth straight League One success by beating Fleetwood 3-2 at Deepdale.

Stephen Jordan's first-minute strike and Scott Laird's own goal had put North End under pressure, but Garner turned it around and they are now just five points off the top in second, with two games in hand.

Aaron Wilbraham equalised in the 79th minute as leaders Bristol City maintained their unbeaten start to the campaign with a 2-2 draw at Barnsley.

Luke Ayling had put the Robins ahead but Sam Winnall's leveller and a Conor Hourihane penalty threatened to send them to their first defeat, until Wilbraham saved the day.

Notts County moved up to third after an 89th-minute Zeli Ismail penalty earned them a 1-0 victory at Scunthorpe.

Coventry fought back from conceding Jon Taylor and Marcus Maddison goals to beat Peterborough 3-2, with Ryan Haynes, Jim O'Brien and Frank Nouble on target for the Sky Blues.

Crewe's run of three straight wins came to an end as they lost 1-0 at home to Sheffield United, with Stefan Scougall scoring the crucial goal before George Ray was sent off late on.

Jonathan Forte and Mike Jones struck as Oldham prevailed 2-1 against Bradford, who replied through Andy Halliday but had Rory McArdle dismissed in stoppage time.

Darius Henderson saw red as Leyton Orient went down 3-0 at Port Vale, with Adam Yates, Ben Williamson and a Nathan Clarke own goal doing the damage.

Rochdale prevailed by the same scoreline at Yeovil, with Ian Henderson bagging a brace after Jack O'Connell's opener, while Tom Bradshaw's strike was enough to give Walsall a welcome 1-0 win over Chesterfield.

Gillingham and Crawley drew 1-1 after Leon Legge levelled following Gwion Edwards' opener, while there were no goals in the game between Doncaster and MK Dons.