Crewe Alexandra 2 Milton Keynes Dons 1
The Railwaymen got off to an explosive start when McCready met Billy Jones' free-kick with a bullet header after just three minutes.
But they failed to build on it in what was a low key first 45 in which neither side were able to offer much quality.
Ryan Lowe curled a free-kick at Dons keeper Nathan Abbey and headed onto the roof of the net, while the visitors offered even less of a threat with Drewe Broughton and Jemal Johnson favoured up front instead of regulars Aaron Wilbraham and Leon Knight.
With skipper Keith Andrews also omitted, if anything, the League Two leaders didn't appear too concerned about their demise.
And when Alex skipper Cox thundered a volley into the roof of the net from a Jones' corner after 65 minutes their fate seemed sealed.
But three minutes later Julien Baudet wrestled clumsily with Broughton inside the box and referee Ken Hill awarded a harsh spot-kick.
Johnson sent Williams the wrong way to reduce the arrears and at last trigger a response from the visitors.
Substitute Wilbraham forced Williams to save a daisycutter and another late replacement, Colin Cameron, should have done better after cutting in on the right of the box.
The veteran midfielder aimed straight at the keeper as did Wilbraham from a much more difficult angle.
But Crewe too had late chances to make the tie safe with Lowe clipping a decent effort just over. And on-loan teenager Simon Church burst free over the halfway line, only to be thwarted by Gareth Edds as he was about to pull the trigger.
Crewe technical director Dario Gradi said: "They were two great set-plays from Billy. We've not seen the evidence of his ability from set plays and hopefully this is a start.
"We didn't play as well as we did against Yeovil last week, but we were hard to beat. We set out to pressurise them up the pitch because we didn't think they were particularly quick in midfield or at the back.
"They didn't get in behind us and didn't really force Ben Williams into a save."