Glovers skipper Terry Skiverton's early header had looked set to hand Yeovil their third straight win, but substitute McLeod popped up with a 74th minute header to end Dons' four-match losing streak.
Top scorer McLeod had been left on the bench in favour of Aaron Wilbraham after the Dons accepted a £1.4million bid from Wolves for the striker this week.
Yeovil started brightly and Matt Harrold had a golden opportunity inside first minute, but after racing on to Arron Davies' flick, he took too long to shoot and allowed Dean Lewington to get a tackle in.
But the Glovers didn't have to wait long to take the lead and Skiverton put them 1-0 up with a thumping 13th minute header.
On-loan West Ham midfielder Chris Cohen delivered a precise in-swinging corner and captain Skiverton stole in unmarked to head into the top corner from 10 yards.
Skiverton showed his value to the team at the other end just a minute later when he acrobatically headed Wade Small's half-volley off the line as the Dons threatened an immediate response.
Yet Davies went close for Yeovil when his fierce strike from the edge of the box was deflected just over the bar by the lunging Gareth Edds, before Wilbraham should have equalised for Milton Keynes midway through the first half but he volleyed Clive Platt's flick over the top from 10 yards.
Lively winger David Poole then lashed just over the top corner from 25 yards after a surging run down the left, before Nicky Rizzo's angled 16-yard drive clipped the bar at the other end in the 37th minute with Yeovil goalkeeper Steve Collis well beaten.
The Dons came out fired up for the second half and skipper Paul Mitchell almost equalised just three minutes after the re-start, but his sliding close range effort from Rizzo's corner was cleared off the line by Cohen.
Edds flashed a left-foot strike just wide from the edge of the box after getting the better of Nathan Jones, before Cohen forced Matt Baker into a decent save at the other end with a rasping 30-yard drive in the 60th minute.
Phil Jevons should have sealed the win for the Glovers when he raced on to Harrold's flick but blazed wildly over the bar from 12 yards in the 72nd minute, before substitute McLeod made him pay by heading home the equaliser just two minutes later.
McLeod played fellow substitute Malvin Kamara away down the right before getting free at the back post to head in the resulting cross from four yards for his 12th goal of the season.
McLeod flashed a left-foot strike just wide in the 77th minute and blazed another good chance over the bar three minutes from the end before Yeovil substitute Andy Lindegaard's cross-shot hit the bar in the last minute.