Kyel Reid had given City a first-half lead but a Nathan Doyle own goal levelled the tie and Clayton headed home before Bradden Inman and Chuks Aneke netted late on to put the result beyond doubt.
Bantams boss Phil Parkinson made eight changes to the side which lost to Oxford at the weekend but City still went in front when Reid blasted past Alan Martin from the edge of the box with 18 minutes gone.
Crewe striker Mathias Pogba twice headed wide from good crosses from Byron Moore and Kelvin Mellor before he turned Tom Naylor only to fire into the side-netting.
But the Railwaymen pulled level four minutes before half-time when Moore raced to the byline and his clipped cross found its way into the net despite Doyle trying to clear it on the line.
The Alex almost went into the break in front but Jon McLaughlin parried Ajay Leitch-Smith's shot and Inman fired wide from the rebound.
McLaughlin tipped over from Inman after the restart and the Bantams survived a scare again when Doyle deflected Matt Tootle's low cross onto his own upright and Ryan Dickson blocked Moore's follow-up shot on the line.
But Clayton put Crewe ahead in the 77th minute when he beat Naylor to Moore's cross with a low diving header that somehow beat McLaughlin at his near post.
The home fans had a late scare when Luke Murphy almost hooked the ball into his own net but the skipper recovered to clear off the line.
Inman raced onto Aneke's through ball to score and settle any nerves with a minute to go before the latter put the gloss on the result with a crashing volley deep into injury time.