SAN DIEGO -- Matt Cain didn't flinch, whether it was dealing with the four errors committed by his teammates or facing a bases-loaded situation with no outs.
Cain struck out nine in seven innings to win his sixth straight start and Buster Posey, Angel Pagan and Gregor Blanco homered at Petco Park to lead the San Francisco Giants over the San Diego Padres 8-3 Thursday.
Ryan Theriot had four hits for the Giants, who won for the ninth time in 11 games.
Leading 4-3, Cain loaded the bases with no outs in the sixth inning on two singles and an error on third baseman Joaquin Arias. Cain escaped the jam by getting pinch-hitter Mark Kotsay to fly out to left and Cameron Maybin to hit into a double play.
"We had the right guy out there. Matt's unflappable," manager Bruce Bochy said. "He didn't let anything affect him. We've been playing well. We just had an off day today and probably got away with it. The guy on the mound, it's important he puts that behind him. Matt's got that ability."
Cain (7-2) allowed three runs -- none earned -- and seven hits while walking one.
"I feel like I had some situations to make better pitches and I didn't," Cain said of the sixth. "I had some chances and I was ahead in the count and I didn't make pitches and I got myself into some trouble, so that kind of started it a little bit."
San Francisco took two of three from the Padres (19-39), who have the worst record in the majors. San Diego also loaded the bases in the eighth and ninth, and failed to score. In the last two games, the Padres had the bases loaded four times -- twice with no outs -- and scored only one run.
"We had a shot there to turn the tables, and we didn't," Padres manager Bud Black said.
San Diego was 2 for 15 with runners in scoring position on Thursday and finished the series 5 for 36.
"There is no magic answer to this," Maybin said. "We just have to keep working and work hard. There is nobody who is giving up in this locker room."
Three of San Francisco's 15 hits were homers.
Posey hit a leadoff shot in the third off Padres newcomer Jason Marquis, driving a 2-0 pitch off the third-floor balcony of the Western Metal Supply Co. brick warehouse in the left-field corner for a 4-0 lead and his seventh homer.
Gregor Blanco hit a solo shot to right with two outs in the eighth off Alex Hinshaw. Blanco went 7 for 15 in the three-game series, with two homers, a triple and two doubles, and he scored six runs.
San Francisco scored two runs off three hits and Marquis' throwing error in the first. Posey had an RBI single and Brandon Belt had an RBI double.
Marquis (0-1) allowed four runs -- two earned -- and nine hits in six innings, struck out six and walked one. Marquis was promoted from Double-A San Antonio after signing a minor league contract on May 29. He started the season with Minnesota.
"I think it went pretty well," Marquis said. "I made a few mistakes and I paid for them. For the most part, I felt good and settled in and got into a rhythm."
San Diego scored three unearned runs in the third, when the Giants committed two errors. Marquis hit a leadoff single and Maybin reached when Pagan, the center fielder, dropped his fly ball. Marquis scored on Yonder Alonso's one-out grounder when second baseman Theriot made an errant throw home and Chase Headley followed with a two-run double.
Headley and Everth Cabrera had three hits apiece for San Diego.
To make room for Marquis, LHP Eric Stults was placed on the 15-day DL, retroactive to Tuesday, with a strained muscle in his shoulder. The Padres also transferred SS Jason Bartlett from the 15-day to the 60-day DL. Stults was hurt during a bullpen session. ... Reliever Andrew Cashner is scheduled to start in Stults' spot Saturday at the Milwaukee Brewers. ... The Giants return home to host the Texas Rangers for three games. Friday night's scheduled starters are Matt Harrison (7-3, 4.37 ERA) for Texas and Barry Zito (5-2, 2.98) in a matchup of lefties. ... The Padres open a series at Milwaukee on Friday, when Edinson Volquez (2-5, 3.42) is scheduled to oppose RHP Shaun Marcum (4-3, 3.39).