Carlos Asuaje's RBI single in the ninth inning gave San Diego the lead and Jose Pirela's sacrifice fly proved to be the game-winner as the Padres rallied to beat the Cardinals 4-3 on Thursday night.
Asuaje's hit, his third of the game, off Zach Duke scored Jabari Blash. Neither Duke nor Sam Tuivailala (3-2) recorded an out in relief in the ninth for a Cardinals bullpen that surrendered 12 runs in seven innings during the series.
Luis Perdomo gave up two runs in six innings, tying Jhoulys Chacin for the Padres team lead with 13 quality starts.
Kirby Yates (3-4) pitched the Padres out of an eighth-inning jam and Brad Hand earned his 12th save in 16 attempts as the Padres won their first series at St. Louis since April 2011.
Just one of the two runs Carlos Martinez gave up through seven was earned. Martinez struck out six, including the side in the fifth on 10 pitches.
Jedd Gyorko's RBI single gave the Cardinals a 1-0 lead in the fourth. It was Gyorko's 16th RBI in 10 career games against his former team and the ninth consecutive game with an RBI against the Padres.
Randal Grichuk homered in the ninth off Brad Hand.
Michael Wacha (9-6, 4.08 ERA) opens a three-game interleague series against Tampa Bay and RHP Jake Odorizzi (6-7, 4.74 ERA). Wacha has received just one run of support in four of his last five starts.