McDonald (7-4) allowed eight hits but pitched well with runners on base and didn't issue a walk as the Pirates kept pace with St. Louis for a first-place tie atop the National League Central.
Ronny Cedeno, Michael McKenry and Andrew McCutchen drove in runs for the victors.
Atlanta's Tim Hudson (9-7) absorbed the loss, surrendering three runs on five hits.
Chipper Jones belted a solo homer for the Braves.
Cara Delevingne posts video of Victoria’s Secret models trying to twerk
Britney Spears debuts 'Perfume' video