Zito (3-1) rebounded from a rough outing Tuesday in Milwaukee, when he was rocked for nine runs in just 2 2/3 innings. The left-hander stifled the Padres on five hits, issued only one walk while striking out four en route to the victory.
Posey's two-run shot in the fifth inning broke open a 3-0 game.
Padres starter Eric Stults (2-2) was tagged for five runs on eight hits over seven full frames.
San Diego fell to 5-13 with the loss.