Wolves’ grip on promotion tightened in the space of a couple of minutes at the end of the first half at Gresty Road when McDonald’s deflected effort found the net and Crewe’s Chuks Aneke was handed a red card.
Crewe could have embarrassed the leaders by taking a 10th-minute lead when Richard Stearman’s careless pass was intercepted by Aneke and fell for Uche Ikpeazu, who drove straight at visiting goalkeeper Carl Ikeme.
But Wolves bombarded the home box with Bakary Sako and Nouha Dicko proving hard to handle.
Sako swerved a free-kick past the post and Lee Evans should have done better with a free header from a Dicko cross.
Crewe goalkeeper Ben Garratt also did well to push a Michael Jacobs’ effort around the post.
Wolves’ pressure finally told when a minute before the break McDonald cut inside to hit a shot which took a hefty deflection before beating Garratt.
Crewe were then reduced to 10 men when Aneke lashed out at Stearman as the players jostled for a high ball on the stroke of half-time.
With Sako and Jacobs unleashing second-half efforts Wolves could have added more goals, but settled for a second from Edwards, who made the game safe when he poked home a classy finish from the edge of the box in the 66th minute.