SAN DIEGO -- The San Diego Padres are starting to figure out Jason Schmidt.
The Padres roughed up San Francisco's ace in the third inning, then held on to beat the Giants 9-6 on Sunday to take two of three games.
Khalil Greene drove in four runs, Brian Giles had three hits and three RBI, and slumping Geoff Blum had a big two-run double for the Padres, who won for the fifth time in eight games.
Schmidt (6-4) had won three straight starts, in which he allowed just three earned runs in 22 innings. But he allowed four earned runs in a five-run third and was taken out after the fourth.
"We've seen him I think about three or four times now," Blum said. "We have a good idea, but he's still a great pitcher. His location might have been off. I know against me he didn't get his breaking ball over as much as he used to.
"We worked a lot of hitter's counts being patient. That was the biggest thing."
Schmidt is 10-7 against San Diego in his career, but just 0-1 in three starts against the Padres this season. Last year, he lost three times in five starts against San Diego.
"I had a few balls that were up," Schmidt said. "I thought I made some good pitches that they hit. That's always the case with these guys. You have to tip your cap. But at the same time, it's tough."
Greene hit an RBI triple in the second, a two-run single in the third and a sacrifice fly in the fifth. Giles had two run-scoring singles and an RBI double. The Padres had five extra-base hits.
Rookie Tim Stauffer won for the first time in nine starts, although he gave up four doubles in his last 11 batters. Stauffer (2-4) hadn't won since getting a victory in his big league debut on May 11 at Cincinnati. Trevor Hoffman pitched a perfect ninth for his 23rd save in 25 chances, and the 416th of his career.
The Padres scored five runs in the third on three hits, two walks and an error by right fielder Todd Linden to take a 6-1 lead.
Dave Roberts, back in the lineup after missing seven games with a strained tendon in his left knee, reached leading off the inning when his fly ball clanged off Linden's glove. After left fielder Moises Alou ran face-first into the left field fence while catching Damian Jackson's fly ball, the next five Padres reached base.
Schmidt walked Ryan Klesko, Giles singled in Roberts with an unearned run and Mark Sweeney walked to load the bases. The next four runs were earned -- Blum hit a two-run double down the right-field line and Greene followed with a two-run single to the left-center gap.
"We had some great at-bats there that one inning," Padres manager Bruce Bochy said. "Blummer came through big time with the double there. That's a good game for us."
Blum average had dipped to .238, so his double was huge.
"Oh man, I think my career numbers with the bases loaded are minimal at best," he said. "At that time, the team's been scuffling for some runs, and we finally get ourselves in a great situation like that, so to drive in a couple of runs was big."
Schmidt allowed six runs -- five earned -- and six hits while walking three and striking out three.
"He didn't have it today," manager Felipe Alou said. "He threw the ball well, but he wasn't sharp today."
Schmidt said he "lacked focus a little bit. I wasn't throwing the pitches I wanted to throw. It wasn't intentional. It was just one of those days. It was a struggle for some reason."
San Diego added runs on Greene's sacrifice fly in the fifth and Giles' double in the sixth.
The Giants kept it close, though. Omar Vizquel had an RBI double and J.T. Snow a run-scoring single in the fifth, and Mike Matheny and pinch-hitter Michael Tucker had consecutive RBI doubles in the sixth to chase Stauffer.
The two runs in the sixth were unearned due to first baseman Sweeney's two-out fielding error on a grounder by Linden. Ray Durham singled in a run in the seventh to pull the Giants to 8-6. Durham also had an RBI single in the first.
Stauffer went 5 2/3 innings, allowing five runs -- three earned -- and eight hits. He struck out four and walked one.
Alou is San Francisco's only All-Star, and his father will be a coach. RHP Jake Peavy was the only Padres player to be picked. ... Snow had three hits. ... Alou was OK after hitting the fence in the third, although he appeared startled. ... Sweeney bounced his face in the dirt making a headfirst slide into third after hitting a triple in the fifth. He scored on Greene's sac fly. ... Hoffman needs eight saves to tie John Franco (424) for second on the all-time list.