Shaun Miller also netted his 15th goal of the season as the Railwaymen killed off the visitors with three goals in the opening half-hour before Sam Winnall netted a late consolation for the Brewers.
Crewe took just two minutes to open the scoring with their first attack. Luke Murphy picked out Donaldson who found it too easy to cut inside Ryan Austin before beating former Crewe goalkeeper Adam Legzdins at his near post.
Miller doubled Crewe's advantage in the seventh minute, dumping Andy Corbett on his backside before firing low into the far corner of the net. Things got worse for Albion when Austin pushed Dave Artell over in the box. Donaldson stuck the resultant 27th-minute penalty away at the second attempt after the referee spotted Burton players encroaching.
Legzdins redeemed himself with an excellent double stop to deny Murphy and Donaldson before substitute Winnall rifled into the roof of the net to give the Brewers a lifeline with seven minutes to go.
But Donaldson tapped in from close-range in stoppage time after Legzdins parried Danny Shelley's shot into the path of the striker.
Source: PA
Source: PA