Delle Alli scored a stunning opener for the Dons before Carl Baker equalised and McLeod’s eighth of the season sealed the points before Baker missed a second-half penalty.
The opener came in the 39th minute when Jordan Willis headed clear a corner. There looked no danger, but Alli caught a beautiful volley which flew into the far corner from 25 yards out.
City equalised after 57 minutes when Mark Marshall’s through ball found Baker just inside the area, and the captain hit a crisp volley into the far corner for his 10th of the campaign.
Substitute McLeod then made an instant impact and scored after 68 minutes with his first touch, catching goalkeeper Joe Murphy off his line with a delicate lob from outside the area.
Coventry missed the chance to gain a point in the 71st minute when Anthony Kay bought down Callum Wilson in the area, and Baker’s spot-kick was well saved by visiting goalkeeper David Martin.