ST. LOUIS -- True to form, Trevor Hoffman rated two straight victories in a city where the San Diego Padres have struggled to be just as significant as his 400th save.
Hoffman retired the side in order in the ninth to become the third pitcher in major league history to reach the milestone, and Mark Sweeney had a two-run homer and three RBI in a 6-5 victory over the St. Louis Cardinals on Friday night.
"Individually, it's an accomplishment I'm very proud of," Hoffman said. "Taking a step back, it's more important that we're 2-0 on this particular road trip. They've played us very difficult since 1999 and most of my career."
San Diego has won five in a row, including two straight in St. Louis for the first time since July 16-17, 1997. The Padres, who on Thursday ended an 11-game losing streak at Busch Stadium, have lost 19 of their last 23 in St. Louis.
Einar Diaz had a pair of run-scoring singles for the Cardinals, 10-3 on the road but 8-7 at home. Reliever Randy Flores (1-1) gave up three runs in the seventh.
"Rather than beat up our bullpen I'd give the Padres credit," manager Tony La Russa said. "We just got beat."
Hoffman joined Lee Smith (478) and John Franco (424) in the 400-save club. He had to face Larry Walker plus the top of the Cardinals' lineup to do it, then was mobbed by teammates on the field.
"That situation, it's almost all the time you go out there," Hoffman said. "You try not to put too much added pressure on yourself, just try to go out and get three outs."
Hoffman has converted seven of nine save chances this season and 400 of 450 in his career. To manager Bruce Bochy, Hoffman belongs in the Hall of Fame.
"I'll tell you, I had goose bumps in the dugout," Bochy said. "I reflected back on all the time he's been out there for me. This guy is so special to me. What he's accomplished is remarkable."
Sweeney, who hit a major league-high five pinch hit homers last year for Colorado, hit his first pinch homer of this season and second overall in the sixth off Jeff Suppan to cut the Cardinals' lead to 4-3. The ball deflected off the right-field foul pole.
"I don't think I hit them far enough to keep them straight, they lose some steam," Sweeney said. "It was big because it gave us an opportunity."
He stayed in the game at first base and his RBI single off Flores (1-1) put the Padres ahead 6-5 in a three-run seventh following Brian Giles' two-run triple.
Randy Williams (1-0) allowed one run on one hit in the sixth to earn his first major league win.
Albert Pujols was 0-for-3 with a walk, ending a 16-game hitting streak. He had batted .407 during the streak with three homers and was in the on-deck circle when the game ended.
San Diego manufactured a run in the first when Dave Roberts led off with a single, stole on the next pitch, and scored on a one-out groundout by Ryan Klesko. Sanders' sixth homer tied it in the second, but the Cardinals missed a chance for more when with runners on second and third and no outs, Jim Edmonds was caught in a rundown in an apparent botched squeeze attempt with pitcher Jeff Suppan at the plate.
St. Louis bunched five hits in a three-run fourth to chase Darrell May, with Edmonds, Diaz and David Eckstein driving in a run apiece, the latter two with two outs. May, subbing for injured Woody Williams in the rotation, lasted 3 2/3 innings and gave up four runs and seven hits.
Edmonds drew a leadoff walk and advanced to third on smart baserunning on a groundout to third in the sixth, then scored on Diaz' second RBI single that had given the Cardinals a 5-3 lead.
Suppan lasted 5 2-3 innings, allowing three runs on six hits.
Sweeney is 5-for-18 as a pinch hitter with two RBI after leading the majors with 23 pinch RBI last year. ... Padres 1B Phil Nevin was lifted in a double switch in the sixth due to back spasms. The team said he was day to day. ... Before the game, Woody Williams received his NL championship ring from the Cardinals. Williams, on the 15-day DL with an oblique injury, started the opener of all three postseason rounds for St. Louis last year. ... Padres manager Bruce Bochy made a double switch in the fourth inning when he replaced May with reliever Dennys Reyes. ... Pujols is the only Cardinals player to appear in every game. ... The game drew 47,160, the Cardinals' fourth sellout in 15 home dates.