Recalled striker Ajay Leitch-Smith volleyed Alex ahead after 70 seconds, but Matt Harrold side-footed a ninth minute equaliser before Cian Bolger headed past his own goalkeeper to re-establish the visitors’ lead in the 33rd minute.
Nick Powell capitalised on an error by Byron Anthony to make it 3-1 with a clinical low finish and just before the break skipper David Artell headed Crewe’s fourth following a right wing corner.
Buckle threw on three substitutes, including goalkeeper Lance Cronin in place of Scott Bevan, at the start of the second half.
Cronin’s fellow replacement Scott McGleish reduced the arrears with a low shot from Gary Stanley’s 48th minute cross.
But the lively Powell ran through a tired defence to make it 5-2 in injury time.