The Saddlers failed to test Leeds goalkeeper Casper Ankergren before taking a shock lead in the opening minute of the second half of the League One clash at Elland Road.
Dwayne Mattis was picked out by Julian Gray's cross and the former Huddersfield and Barnsley midfielder lashed in a low volley from just inside the penalty box.
The equaliser arrived in the 54th minute and Walsall keeper Clayton Ince was badly at fault. Gary McSheffrey tried a speculative shot from wide on the left and, with Ince caught off his line at the near post, the ball cleared him and dropped into the net.
But McDonald bundled the ball over the line nine minutes from the end as Leeds failed to clear a corner.
The closest either side came to a goal in a dire opening 45 minutes was a free-kick from just outside the penalty box which Matt Richards fired inches over the Leeds crossbar.