Everth Cabrera's bunt single in the first inning was the lone hit for the Padres, who scored on a sacrifice fly, an error and a bases-loaded walk to avoid a three-game sweep. Carlos Quentin and Chris Denorfia each knocked in a run.
San Diego starter Ian Kennedy (5-6) allowed two runs on five hits while striking out seven over six innings. He improved to 2-5 at home this season.
Andrew McCutchen hit a solo homer for the Pirates, who went 6-4 on a 10-game road trip. Josh Harrison went 3-for-4 with an RBI.
Francisco Liriano (1-6) got the start for Pittsburgh and gave up three runs -- two earned -- on one hit over five innings. He had six walks and seven strikeouts.