League One Wrap: Garner glut stuns Crewe
Preston's leading scorer took his tally to 19 league goals for the season as Simon Grayson's side coasted to a seventh win in their last eight league games.
Garner struck twice in the first half and added another two after the break following what proved to be a consolation goal from Oliver Turton after 34 minutes.
Jermaine Beckford completed the rout eight minutes from time and second-placed Preston are now 11 points behind leaders Bristol City - who were held to a goalless draw by Gillingham - with two games in hand.
Bristol City had won five games in a row before facing Justin Edinburgh's side at Ashton Gate, but were unable to stretch that run to six as the Kent club held on for a point.
Barnsley succeeded where Bristol City failed as they extended their winning run to half a dozen matches at the expense of manager Lee Johnson's former club Oldham Athletic.
Johnson left Oldham to take over at Oakwell just over a fortnight ago and made a swift return to Boundary Park to pick up all three points which moved the Yorkshire club into the play-off places.
Lewin Nyatanga scored twice either side of a Conor Hourihane strike, with Mike Jones on target late in the first half for Oldham - who had captain Adam Lockwood sent off for a second bookable offence in stoppage time.
Peterborough United have now won all four games under caretaker manager under Dave Robertson after they beat fellow play-off hopefuls Doncaster Rovers 2-0 at the Keepmoat Stadium.
Goals from Luke James and Conor Washington sealed a victory which ensured Peterborough moved above Doncaster into seventh spot, level on points with Barnsley.
Third-placed Swindon Town remain two points adrift of Preston after winning 1-0 at Port Vale, while MK Dons could only draw 1-1 at Walsall and Sheffield United were held by the same scoreline at Scunthorpe United.
Tony Mowbray was able to celebrate his first victory as Coventry City boss as Chesterfield suffered a 3-2 home defeat, while Crawley Town were also 3-2 winners at fellow strugglers Colchester United.
There was more misery for bottom side Yeovil Town, who suffered a 3-0 defeat at Leyton Orient. Fleetwood Town beat Lancashire rivals Rochdale 1-0 and Bradford City drew 1-1 at Notts County.