PITTSBURGH (AP) -- Neil Walker ended a long home run drought, James McDonald put together another strong start and the Pittsburgh Pirates beat the Cincinnati Reds 3-2 on Saturday night.
Alex Presley also homered for Pittsburgh and Joel Hanrahan worked a perfect ninth for his fifth save in relief of McDonald (2-1), who gave up one run and six hits in 6 1-3 innings. He walked two and struck out seven.
Cincinnati starter Mike Leake (0-4) remained winless but showed improvement after a rough opening month, allowing three runs and four hits in seven innings. He walked four and struck out four.
Walker hadn't homered since last September, but his two-run shot in the third gave McDonald an early cushion before Pittsburgh's bullpen staved off a late Cincinnati rally.
Joey Votto had two hits for the Reds, but Cincinnati was undone by some slick Pirates defense and solid work from McDonald.
The 27-year-old right-hander is beginning to harness his control, a problem that's plagued him early in his career and made it difficult for him to pitch deep into games.
He came in with 18 strikeouts combined in his last two starts -- including a career-high 10 in a victory over Atlanta on Monday -- and worked into the seventh inning both times, encouraging signs for a pitcher Pittsburgh considers a building block.
McDonald cruised through six innings before running into trouble in the seventh when Jay Bruce tripled with one out and Scott Rolen followed with a single.
Juan Cruz came on in relief and escaped further damage when Ryan Ludwick lined to center and Rolen was tagged out at second trying to advance.
The Reds drew within one in the eighth against Jason Grilli when Zack Cozart doubled home Devin Mesoraco. Grilli intentionally walked Votto, and Brandon Phillips struck out to end the threat.
Hanrahan retired the side in order in the ninth as the Pirates continued their weird start. Save for a two-game slide in St. Louis earlier this week, Pittsburgh has alternated wins and losses in every game since April 18.
Cincinnati, meanwhile, had been surging. The Reds came in 7-3 in their last 10 games and moved over .500 for the first time in a month with a 6-1 victory on Friday.
McDonald blunted Cincinnati's momentum, though the Reds got a boost from Leake, who struggled so badly in April that he was bumped from his scheduled start last Thursday thanks to an earlier rainout that allowed manager Dusty Baker to juggle his rotation.
The extra couple days off appeared to settle Leake down a bit. His only real miscue came in the second, when Jose Tabata doubled with two outs and Walker followed with a towering shot to right field for his first homer of the season. The drive landed halfway up the seats in right as a relieved Walker rounded the bases after ending a 47-game homerless drought dating to Sept. 4, 2011.
Presley, a late defensive replacement, added his second homer of the year off Leake in the seventh.
Pittsburgh's defense did its best to back up McDonald, turning three double plays, only one of them in conventional fashion.
The Reds threatened to get back in it in the fourth but the Pirates snuffed out the rally when first baseman Casey McGehee snagged Bruce's grounder, stepped on first for one out and then cut down Votto on a close play at home for an inning-ending double play.
Votto appeared to sneak his right foot under the tag of Pittsburgh catcher Rod Barajas, but umpire Ron Kulpa pointed to the plate and Votto gave up his protest by patting Kulpa on the backside.
NOTES: The series concludes Sunday. Mat Latos (1-2, 5.97 ERA) starts for Cincinnati against Charlie Morton (1-2, 4.22). ... Rolen's next double will be the 506th of his career and will tie him with Babe Ruth for 48th place. ... Pittsburgh 3B Pedro Alvarez went 0 for 2 with two walks in his first game batting cleanup this season.