McDonald's long-range curler early in the second half restored his side's lead after Liam Feeney had cancelled out Elijah Adebayo's opener.
Dan Scarr secured the three points on 67 minutes, spoiling the occasion for the 2,000 returning Rovers fans.
The win, Walsall's first since 3 November, lifts Darrell Clarke's men to 15th, while a first defeat for new boss Keith Hill sees Tranmere lose ground in the play-off race.
Story of the match
It was Walsall who were first to threaten, with Rory Holden scuffing his side-footed effort from Adebayo's pull-back to allow Peter Clarke to make a goal-line clearance.
Tranmere also went close inside the first ten minutes as Lee O'Connor picked out Paul Lewis in the area and he glanced a header wide.
Just before the halfway point of the first 45', the visitors grabbed the lead. Holden burst forward and fed McDonald, whose inswinging near-post ball was tapped-in by Adebayo for his sixth goal of the campaign.
After a jittery spell in the immediate aftermath of the goal, Rovers struck back on the half-hour mark. The clearance from Kieron Morris' cross dropped invitingly for Feeney, who lashed in a precise volley to open his account for the season.
Then, in the final moments of the half, Scott Davies was called upon to keep his side level. Liam Kinsella darted into space on the right side of the area and floated the ball in towards Scarr for a point-blank header, but he was denied by the Tranmere skipper's superb reflex stop.
Rovers were left stunned by the Saddlers' rapid restart. Just moments after Adebayo had somehow failed to convert from virtually beneath the crossbar, McDonald picked up the ball on the left, dropped his shoulder and curled a sumptuous shot into the top right corner from 20 yards.
They very nearly extended that lead before the hour when Adebayo turned Manny Monthe and fed Holden, who forced Davies into an excellent stop down to his right.
Just as a near-miss heralded the second goal, the third arrived after a sprawling stop from a wrongfooted Davies had thwarted James Clarke.
Holden delivered the resulting corner, and Scarr got across his marker to divert the ball home with a flick of the right leg.
In truth, a fourth looked more likely than any Rovers revival. With 20 minutes to go, Morris was caught in possession deep inside his own half by Kinsella, who slipped-in Holding. The winger should really have scored, but his cross-goal shot was too close to the 'keeper.
A combination of two substitutes - Morgan Ferrier and Kaiyne Woolery - could have halved the deficit, but the latter drove narrowly wide
At the other end, Davies kept the scoreline down by smothering Josh Gordon's rebound following a dangerous McDonald break.
Indeed, but for his vital interventions, the margin of victory could perhaps have been twice as great.
Man of the match - Wes McDonald
The outstanding player. McDonald put the ball on a plate for Adebayo early on before a surefire Goal of the Month frontrunner. He eluded his markers from start to finish.