SAN DIEGO -- On his way to becoming the career saves leader, Trevor Hoffman broke another one of Lee Smith's records.
Hoffman entered the game in the ninth with a three-run lead and retired Austin Kearns on a grounder to third and Ryan Church on a popup to short. After Marlon Anderson doubled, Hoffman struck out Brian Schneider swinging to wrap up his 466th career save.
Hoffman and Lee Smith were tied for the most 30-save seasons with 10. Hoffman is 12 saves behind Smith's major league record of 478.
Mike Cameron helped give Hoffman the chance to pass Smith, hitting a tiebreaking RBI double in the seventh inning. Cameron was moved to No. 3 in the order for the second straight game.
"It's no different than hitting second," said Cameron. "Whether you see the first six pitches or nine, or 12. You try to hit the ball hard no matter where you're batting in the order."
Mike Piazza and Adrian Gonzalez each drove in two runs and Dave Roberts had three hits, stole a base and scored two runs as the Padres increased their lead in the NL West to two games over Arizona and the Los Angeles Dodgers.
Alan Embree (4-2) who came on in relief of starter Mike Thomson, retired Schneider in the top of the seventh with a runner on second and wound up with the win.
Thompson, filling as a spot starter, threw 6 2/3 innings allowing three runs on four hits. He walked one and struck out three.
With the score 3-3 in the seventh, Cameron drove the ball to left-center gap off Pedro Astacio (2-2) to score Roberts from first base.
Roberts had drawn a walk leading off the seventh. Astacio threw the ball over to first base three times trying to keep Roberts close before he threw the first pitch to Cameron, who drove it to the gap.
"It was a fastball," said Cameron, "It was the same pitch he got me out on the previous two at bats. He seemed to be worrying about Dave (Roberts) too much."
Nationals manager Frank Robinson agreed.
"His undoing was the seventh inning, walking Roberts on four straight pitches got him into trouble," said Robinson. "He was worrying about Roberts stealing and threw Cameron a fastball. That was a lethal combination."
Astacio gave way to Saul Rivera and Piazza greeted the reliever with a line a single up the middle, scoring Cameron.
Brian Giles added an RBI single in the eighth to make it 6-3.
Thompson took a perfect game into the fourth inning, retiring the first 11 batters before Ryan Zimmerman hit his 15th home run over the 402-foot mark into the bullpen in center field.
Marlon Anderson hit two-run homer off Thompson in the fifth to tie the game at three.
The Padres had jumped off to a 2-0 lead in the first inning against Astacio. Roberts singled up the middle leading off and stole second and two outs later Piazza walked. Gonzalez followed with triple to right-center on the first pitch to score two.
Piazza's sacrifice fly to right in the third put San Diego up 3-0.
- Roberts extended his hitting streak to eight games with his leadoff single in the first. He also stole his 32nd base in the first and is third in the NL in that category.
- Adrian Gonzalez connected for his second career triple and first of the 2006 season. In five games agaisnt Washington this year, Gonzalez is hitting .389 (7-for-18)with two home runs, a triple, double and six RBI.
- With three earned runs over 6 2/3 inning Mike Thompson has turned in eight quality starts.
- Embree has not allowed an earned run in his last 12 appearances, a span of 8.2 innings, dating back to July 17.
- Padres shortstop Khalil Greene, who is nursing a sprained middle finger on his left hand and missed his second start, came in as a pinch-runner in the seventh. He is listed as day-to-day.