MILWAUKEE -- Bill Hall's homers gave the Milwaukee Brewers some momentum as they get ready to welcome back their ace.
Hall hit two two-run homers and Carlos Lee had one as the Brewers beat the Pittsburgh Pirates 12-8 on Monday night.
"We've got bigger things on our hands right now and that's getting back in this race," Hall said after the Brewers had 15 hits, one shy of their season high, and one more than the Pirates.
After the game, the Brewers activated right-hander Ben Sheets off the disabled list where he had been since early May with right shoulder tendinitis. He'll start Tuesday's game and be on a 100-pitch limit.
"A lot of good things are going our way," Hall said. "Hopefully, we can keep everyone healthy and make our run."
Doug Davis (6-6) allowed six runs and 10 hits in six innings as the Brewers (48-52) won for just the fourth time in the last 13 games.
The Pirates fell to 2-17 on the road against left-handers and 6-28 overall.
Zach Duke (7-9) had won his first two starts since the All-Star break, but failed to get out of the third inning against the Brewers.
In the third, Brady Clark singled, advanced on Davis' sacrifice and scored on second baseman Jose Castillo's fielding error. Victor Santos relieved Duke and the Brewers added another run on shortstop Jack Wilson's fielding error before Lee's two-run homer, his 28th of the season, made it 10-2.
Duke allowed eight runs -- six earned -- and eight hits in 2 1/3 innings. He walked one and struck out two in his shortest outing of this season.
"I didn't have control, and when you throw flat balls down the middle guys are going to hit it hard," Duke said.
Jason Bay's 23rd home run gave Pittsburgh a 2-0 lead in the first, but the Brewers sent nine men to the plate in the bottom of the inning and regained the lead 4-2 keyed by Hall's first two-run homer, his 21st of the season.
In the second, Jeff Cirillo and Prince Fielder had RBI singles to make it 6-2.
Hall's two-run homer off Santos in the fifth gave him his second career two-homer game and the Brewers a 12-3 lead.
"I got two good pitches to hit and drove them out of the ballpark," he said.
Brewers manager Ned Yost said the big lead was important.
"All in all, the bats were great tonight," Yost said. "It's nice to have a little bit of cushion so if you do make a mistake or two, you got it covered."
Pirates manager Jim Tracy said the game got away from his team early as Milwaukee built a 10-2 lead after three innings.
"The early part of the game wasn't good at all," he said. "We didn't pitch well in the early part of the game and we made some mistakes defensively.
"When you're down by nine runs, you've got to play catch-up."
The Pirates scored three times in the sixth on RBI singles by Ronny Paulino and pinch-hitter Joe Randa. They got an unearned run on right fielder Geoff Jenkins' throwing error.
Pittsburgh made it 12-8 in the seventh on a run-scoring groundout by Craig Wilson and an RBI single by Paulino, who was 3-for-4 with three singles and three RBI.
Bay came in hitless in his last three games, but snapped the 0-for-8 skid with the first-inning home run. He went 4-for-4 -- his fifth career four-hit game -- with a triple and homer, scored three runs and drove in two.
He said he was thinking about the possibility of hitting a cycle "in the back of my mind" when he batted in the ninth. He needed a double, but settled for a soft single to left.
"You can't try to hit any of those things, they just have to happen," he said.
Brewers 2B Rickie Weeks left the game after the second inning with right wrist irritation. He's day to day. ... Duke had gone two innings twice last season. The Aug. 23 start ended when he twisted his ankle. He pitched two innings on July 27 at Florida, but did not return to the mound after the second rain delay. ... Jack Wilson singled in the first, extending his hitting streak to 11 games. ... The Pirates have lost 15 of their last 18 on the road.