Weeks' home run -- his sixth of the year -- came after Corey Hart opened the second inning with a triple. Weeks connected with a 2-1 fastball and sent it over the wall in dead center.
Those were the first of five runs -- four earned -- charged to Reds starter Homer Bailey (5-6). He lasted four innings, giving up seven hits.
The unearned run came in the third when a Bailey throwing error allowed Norichika Aoki to get to third and Aramis Ramirez followed with an RBI single. Milwaukee added another two-run home run -- this one by Cody Ransom -- in the fourth.
Brewers starter Zack Greinke (9-2) improved to 4-0 lifetime against Cincinnati. He allowed six hits and two runs over six innings while walking one and striking out three.
Cincinnati had single runs in the third and fourth, the second coming on a Ryan Ludwick home run. The Reds inched within 5-3 in the eighth by scoring on a groundout but Milwaukee put the game out of reach by batting around for three runs in the ninth, a rally that included two bases-loaded walks.
Ludwick added a second home run in the ninth, giving him 11 on the season.
Ohio bar shooting arrested, charged with murder
LGBT community has 'bullied the American people': Bachmann