SAN DIEGO -- Xavier Nady is making the most of his opportunity this weekend.
"The big swing was Nady's home run," Seattle starter Aaron Sele said. "It was a pretty good pitch. At first, I thought I hung the pitch. The replay showed that the ball was down. He put a good swing on the ball."
"It is just nice to be in there," Nady said. "It has been sporadic all year. I had an opportunity today and I took advantage of it, which is nice."
Given an early seven-run lead, Peavy (7-2) allowed five runs and seven hits in five innings, raising his ERA from 2.56 to 2.88.
"I just let my guard down a little bit. I pitched fine up until the fifth inning," Peavy said. "I picked a good day to give up five."
It was the first time in 15 starts this season that Peavy gave up five earned runs.
"Peavy wasn't as sharp as usual. He still had the stuff to get away with it," Seattle's Bret Boone said.
Trevor Hoffman pitched the ninth for his 20th save in 22 chances.
Sele (6-6) gave up eight runs and eight hits in four innings.
"I had trouble locating my pitches," said Sele, who turned 35 on Saturday. "I was behind everybody in the count all day long."
Despite allowing three homers, the Mariners have given up a major league-low 13 in June.
Adrian Beltre hit an RBI double in the third for the Mariners, ending Peavy's scoreless streak against Seattle at 23 2/3 innings.
San Diego broke open the game in the bottom half when Nady hit a three-run homer and Greene followed with another homer to left. Mark Sweeney added a solo homer in the fifth.
"We're swinging better. We had some key hits today," Seattle manager Bruce Bochy said. "We had been leaving runners on base. We had production throughout the order today."
Trailing 8-1, Seattle closed in the fifth on Beltre's sacrifice fly, Richie Sexson's RBI double and Raul Ibanez's two-run homer.
"Peavy was not on his game today," Seattle manager Mike Hargrove said. "But, we dug ourselves too big of a hole today."
- Roberts had an MRI exam of his knee Saturday and Bochy was optimistic Roberts would play again in three or four days.
- Ichiro Suzuki scored in the fifth to reach 500 runs in his major-league career, it took him 707 games.
- Brian Giles walked for the eighth straight game, increasing his major league-leading total to 59.
- San Diego improved to 24-15 at home but is just 17-19 on the road.