Volquez (7-8) pitched well enough to earn the decision, limiting the Cardinals to three runs on four hits. The right-hander walked one and struck out one, breaking a personal two-start losing streak.
Nick Vincent, Dale Thayer and Joe Thatcher each fired a scoreless inning of relief and Huston Street turned in a 1-2-3 ninth for his 16th save as the Padres evened their three-game series.
The Cards' Lance Lynn (11-5) was tagged with the loss after giving up four runs on six hits over five innings.
Allen Craig drove in two runs for National League Central-leading St. Louis.