The Giants jumped off to a 4-0 lead in the first, thanks in part to Posey's two-run blast, and his grand slam in the fourth extended San Francisco's lead to 11-1.
Tim Lincecum (9-4) tossed seven strong innings, striking out 10 while allowing one run on four hits.
Brewers starter Chris Narveson (7-6) was lit up for 10 runs on nine hits in 3 1/3 innings.
Teacher apologizes for showing sexual image of herself in class
Senate Democrats to pull all-nighter on climate change