He singled in the first, second, fourth and sixth, adding a two-run triple in the fifth as the Giants jumped on the Brewers and staked Ryan Vogelsong to a big lead.
Posey had five hits for the second time in his career and first since July 8, 2013, against the Mets.
He is batting .500 (20 for 40) with five home runs, 13 RBIs and 11 runs scored in his past nine games.
Vogelsong had received zero runs of support in each of his previous five outings at AT&T Park. He left after the seventh leading 13-2.