Playing in front of 31,054 - a record for the competition outside the overall final - City had the better of the first half but could not find a way past an in-form Steve Phillips.
The Crewe keeper thwarted Stephen Elliott on three occasions, while the visitors snatched a 52nd-minute lead. Bradden Inman led a swift counter attack forward and applied a devastating finish with his left foot after a square ball from Byron Moore.
Phillips was called upon again to prevent a deflected clearance finding the net before Carl Baker smashed the foot of his near post. Inman then struck again, producing a magnificent solo run before firing low into the net from 18 yards, 12 minutes from time.
Ajay Leitch-Smith added a well-finished third with just six minutes left to make Crewe hot favourites for a trip to Wembley.
In the southern section, Ryan Leonard scored the only goal of the game to give Southend the advantage over Leyton Orient.
The vital goal came on 58 minutes when Sean Clohessy sent over a cross and Leonard reacted quickly to send a well-paced header into the net from close range.