After Sam Baldock fired the MK Dons into a 15th minute lead some of the home faithful unfurled a banner calling for Holland to go.
But his side fought back strongly before the interval, to lead through a Sean O'Hanlon own goal and a Shaun Miller strike.
Roberto Di Matteo's side were on top in the opening half-an-hour and could have led by more. Steve Collis palmed away a shot from Mark Wright, before Peter Leven slipped Baldock through down the middle and the youngster smashed the shot into the bottom corner.
Crewe should have been level when Michael O'Connor chipped the ball over the visiting backline and Calvin Zola blazed over the bar with just Willy Gueret to beat.
Crewe enjoyed a slice of fortune to level the game in the 32nd minute, Mark Carrington's cross from the by-line was diverted high into his own net by O'Hanlon, under pressure from Zola.
The home side had their tails up when Gueret blocked Clayton Donaldson's close-range effort shortly afterwards.
Crewe winger Miller forced the keeper to tip over an angled drive and was soon celebrating his first goal of the season as he finished off Zola's flick-on with a low drive two minutes before the interval.
Donaldson was offered a great chance to extend Crewe's lead six minutes after the restart, helped by O'Hanlon's misplaced header. But the striker's poor control allowed the keeper to close him down.
While Crewe were dangerous on the break, the Dons gradually took hold in the second half, with Chadwick particularly influential down the left.
O'Connor's 25-yard volley almost caught out Gueret, but Crewe were slack at the back when substitute Kevin Gallen slipped in Chadwick on the left of the box and the winger fired in a deflected effort past Collis.