The Braves avoided a three-game sweep and moved into a second-place tie with Florida in the National League East. Atlanta and Florida trail Philadelphia by seven games for the division lead.
Vazquez (11-9) allowed five hits and did not walk a batter in winning for the sixth time in eight decisions.
Atlanta scored five times in the second, with the first two runs coming in on a bases-loaded single by Vazquez. Matt Diaz also had RBI singles in the second and third.
The Braves prevented what would have been the first three-game series sweep in Atlanta for the Padres in 20 years.
Clayton Richard (3-1) absorbed his first loss since being traded to San Diego from the Chicago White Sox. He gave up six runs on nine hits in 2 1/3.
The start of the game was delayed 21 minutes by rain.
Copyright 2009 by United Press International.