SEATTLE -- Clayton Richard solid outing almost went to waste in the ninth inning.
Seattle starter Felix Hernandez (4-5) foundered in his first outing in 11 days. The 2010 Cy Young Award winner pitched six innings, allowing nine hits, five runs and three walks.
"Tonight, he matched up with one of the best pitchers in the American League and outpitched him," Padres manager Bud Black said of Richard.
The Mariners made a late push by scoring three runs in the ninth. Michael Saunders homered. Chone Figgins doubled and Huston Street relieved Joe Thatcher and gave up an RBI single to Munenori Kawasaki. Ichiro Suzuki then singled. Kawasaki scored on a wild pitch that struck out Dustin Ackley to cut the lead to 5-4. But Street got Jesus Montero to ground out to second base to end it for his sixth save.
"I liked the matchup with him and Saunders; Joe's been great against lefties," Black said. "I wanted to get Figgins on the other side. Tonight, it didn't work out. But Huston came in and got it done."
Richard (3-7) allowed eight hits and a run. He got 14 groundball outs, struck out three and walked one. It was the first time this season he's gone seven innings and allowed fewer than two runs.
Hernandez left his outing June 1 at Chicago with back stiffness. The Mariners were able to keep Hernandez from the disabled list, but he missed one start.
He was not sharp in his return. The Padres scored four times in the sixth. Singles by Yonder Alonso, Cameron Maybin and Nick Hundley combined with a wild pitch from Hernandez and Cabrera's triple to put San Diego in front, 5-1.
"I'm tired of pitching like that," Hernandez said. "I've got to do something about this."
The Mariners also failed to turn a double play in the sixth when third baseman Kyle Seager fielded a grounder, thought about throwing to second, but retreated to third. He then threw late to first. Seager started the play just in front of the bag, forcing him to back up before throwing the ball with runners on first and second.
"I felt like we were sluggish defensively," Mariners manager Eric Wedge said. "We didn't give Felix much help that inning."
Hernandez allowed the leadoff hitter to reach in each of the first three innings. But the Padres didn't score until the third, when he walked ninth-place hitter Cabrera. Cabrera stole second, then scored with two outs when Chase Headley hit a flare into shallow left field.
Hernandez threw 91 pitches, struggling the whole way. He had one 1-2-3 inning, and gave up nine hits and three walks to a team that came into the game hitting .229 on the season.
San Diego left fielder Chris Denorfia led off the fourth with a triple but watched the rest of the inning from third. Maybin grounded to short, Hundley struck out and Cabrera popped out to short. When Cabrera sliced Hernandez's cut fastball into the air, Hernandez screamed, "Up!" and threw a fist in celebration.
Suzuki and Ackley opened the fourth with singles. Suzuki came in to score on a fielder's choice from Seager, tying the game at 1. Entering the game, Richard held lefties to a .191 average. The first three Mariners hits were from left-handers.
Saunders doubled with one out in the fourth, then stole third on the next pitch. Figgins struck out looking, and Suzuki grounded out following a walk to Brendan Ryan, stranding Saunders at third.
Saunders was up with the bases loaded and two outs in the sixth but flew out to deep center. He hit his seventh home run to center in the ninth off Joe Thatcher, who was brought in to replace the cruising Luke Gregerson. Gregerson pitched 1 1/3 without allowing a baserunner before he was removed. Thatcher allowed a double to Figgins after the Saunders home run and was removed without recording an out.
Changes are coming to the Mariners' roster.
"We've got a series of moves that we're going to be making (Wednesday)," Wedge said.
Cabrera stole three bases, including two in the ninth.
San Diego manager Bud Black isn't sure who will start the weekend series beginning Friday in Oakland. Jason Marquis will pitch Wednesday and Edinson Volquez will pitch Thursday in Seattle. ... Mariners manager Eric Wedge was also noncommittal on his rotation. Kevin Millwood's status has been day to day since he injured his groin June 8, leaving unclear this weekend's starters.