Dele Alli opened the scoring for the home side, fresh from upsetting Manchester United on Tuesday, before David Martin saved McLeod’s spot kick, while Benik Afobe finished the job late on.
Daniel Powell hit the post early on before inadvertently setting up the opener after a quarter of an hour, Brian Jensen palming away the 23-year-old’s effort only for teenager Alli to curl home the rebound.
Jensen then had to be alert to stop Anthony Kay’s speculative volley from distance, while Dean Leacock snuffed out a neat Dons move as the first half drew to a close.
Kyle McFadzean was sent off for bringing down McLeod inside the area 20 minutes from time, but Martin kept out the striker’s penalty.
Afobe, who scored twice on Tuesday, saw a free-kick cannon back off the post, but made amends in added time to complete the hosts’ third league win of the season.