Pedro Alvarez, Rod Barajas and Neil Walker all had two hits apiece and knocked in a run for the Pirates, who have won a season-high four straight to improve to 24-24.
It was more than enough for McDonald (4-2), who retired his final 12 batters after letting the first two hitters reach in the fifth. He struck out five and walked one while matching the longest outing of his career and lowering his ERA to 2.20.
Joel Hanrahan got the final out for his 12th save.
Bronson Arroyo (2-3) lasted just four innings on a sweltering day in which he struggled with his command.
Ryan Hanigan had two hits for the Reds, who fell for just the second time in their last 10 games.
The Pirates have remained competitive despite the most woeful offense in baseball, though they are finally showing signs of life. Pittsburgh posted a season-high 10 runs to complete a sweep of the Cubs on Sunday then followed it up by giving McDonald an early cushion.
Arroyo never really looked comfortable and had trouble working efficiently. Though he avoided walks, Arroyo frequently had to work deep into counts. The Pirates wasted little time pouncing on him, jumping to an early 2-0 lead an RBI double by Alvarez on a 3-2 changeup and a run-scoring single by Garrett Jones.
Walker added an RBI double in the second before Barajas made it 4-0 in the third when he singled home Alvarez.
Arroyo gave up four runs and eight hits in his shortest stint of the season. The veteran right-hander needed 79 pitches to get 12 outs and remains winless in his last four starts.
McDonald didn't let the chance to pitch with a somewhat comfortable lead go to waste. The Pirates came in scoring three runs or less in six of his nine outings this season, one of the major reasons his record has lagged despite the best start of his career.
The Pirates have worked diligently with McDonald over the last two seasons trying to get him to corral his control issues, believing he has the stuff to become a No. 1 starter down the road.
He appears well on his way and did his best work after getting into a pair of jams.
The Reds put runners on first and second with no outs in the third, but after a visit from pitching coach Ray Searage, McDonald grabbed Drew Stubbs' bunt and fired to third to get the lead runner. He then struck out Wilson Valdez and escaped when Joey Votto flied out to center.
McDonald found himself in the same situation in the fifth and didn't need a pep talk from Searage. Pinch-hitter Mike Costanzo popped to short, Stubbs struck out and Valdez bounced a harmless grounder to third.
It was the last murmur of a threat against McDonald, who breezed through his final three innings, receiving a rousing ovation from the small but vocal crowd at PNC Park while walking into the dugout following the top of the eighth.
The Reds, who have surged to the top of the NL Central behind an offense that has started to mash the ball the way they thought they would in spring training.
Cincinnati hit 17 homers during a seven-game homestand that concluded on Sunday with a win over Atlanta but managed just one extra-base hit on Monday.
NOTES: The Pirates' four-game winning streak is their longest since a four-game run June 21-25, 2011. ... The series continues on Tuesday with Cincinnati's Homer Bailey (3-3, 4.19 ERA) facing Pittsburgh's Charlie Morton (2-5, 4.27).