SAN DIEGO -- Brian Giles preserved a tie with his arm and won the game with his bat.
"In that situation you just want to get a pitch that you can handle," said Giles. "I'm not trying to guide the ball and just fit it in there, I'm just trying to hit the ball hard and see what happens. It was a fastball over the middle."
The Padres loaded the bases off Julio Mateo (4-1) in the 10th on Rob Bowen's one-out double, a single by Mike Cameron and a walk to Ben Johnson.
Giles then singled up the middle to score Bowen.
"We were trying to give Mateo the day off," said Seattle manager Mike Hargrove. "He has thrown four games in a row and we didn't want to go to him, but we did. He was going to go one inning and that would be it."
Scott Linebrink (5-2) pitched a scoreless inning for the victory, striking out Ichiro Suzuki and pinch-hitter Carl Everett with two runners on.
The Mariners had a chance to score in the ninth off Trevor Hoffman, but Richie Sexson was easily thrown out at the plate by Giles on Kenji Johjima's single to right.
"I'm just trying to stick my big body right on top of home plate and make sure no one scores," said Bowen who survived his collision with the 6-foot-8 Sexson on the play. "I set up for the worse case scenario. So I'm going to make sure that I hold on to the ball whether he runs me over or tries to slide around me or do whatever. I'm just getting ready. In that situation you can't think about who's running, you just have to hold on to the ball."
San Diego starter Jake Peavy pitched eight strong innings, allowing one run and six hits. He struck out nine without any walks. He was 4-0 lifetime against Seattle and reduced his ERA against the Mariners from 1.69 to 1.56.
Seattle starter Gil Meche, who had won his last three starts allowed one run and four hits in 5 2/3 innings. He walked two and struck out six.
Cameron gave the Padres a 1-0 lead in the third when he hit his sixth home run of the season, a 374-foot blast over the auxiliary scoreboard in right field.
The Mariners tied the game in the fourth on consecutive doubles by Adrian Beltre and Raul Ibanez.
Peavy pitched his way out of a jam in the third. Jeremy Reed led off with a double to left-center. He moved over to third on a passed ball by catcher Mike Piazza. However, with the infield in, Peavy struck out Yuniesky Betancourt and Meche. He then struck out Suzuki on three straight swings.
Meche, who gave up the homer to Cameron in the fourth, yielded a one-out single to Johnson in that same inning. However, he came back and retired Giles and Piazza on infield popouts to end the inning.
Giles walked leading off the sixth. After Meche got the next two batters he was replaced by Emiliano Fruto, who struck out Khalil Greene with a runner on second to end the inning.
Suzuki, who had his 20-game hitting streak snapped Thursday, went 0-for-3 before singling to right in the eighth. ... Cameron led off for just the third time this season. In addition to his sixth home run of the season, he drew two walks.