Seattle Randy Winn hit a two-run homer, and Bret Boone and Mike Cameron doubled off the wall as Seattle scored four times in the eighth inning to beat Kansas City, 7-4, Tuesday night.
Winn and Cameron each hit the first pitch they saw from rookie reliever D.J. Carrasco (3-2). So did Edgar Martinez, who singled in Boone to break a 3-all tie.
Jeff Nelson (3-0) pitched the eighth for the Mariners, who won their fifth straight and improved the best record in the American League to 29-15.
Boone hit a 2-0 pitch off the wall in right field, and Martinez drove him home to make it 4-3. Cameron added a double off the center-field wall, driving in pinch-runner Willie Bloomquist, and went to third on a throwing error.
Winn drove the next pitch an estimated 397 feet to right field, making it 7-3.
The Royals added a run in the ninth on Desi Relaford's RBI double off Arthur Rhodes.
Carrasco had not allowed an earned run in 11 innings. He went 11Â¼3 innings, allowing four runs on five hits.
The Royals trailed 3-0 after three innings but climbed back into it with the help of two homers by Raul Ibanez off Mariners starter Ryan Franklin. It was the second career two-homer game for Ibanez, who did it July 2 at Safeco Field.
Royals starter Darrell May was a game-day replacement for Runelvys Hernandez, who was scratched to rest a sore right elbow. May, a lefty, went 51Â¼3 innings, giving up three runs and six hits with six strikeouts and two walks.
Carlos Guillen hit a first-inning triple and scored on Boone's sacrifice fly, and the Mariners added two runs in the second on RBI singles by Dan Wilson and Ichiro Suzuki.
Franklin was cruising in the fourth when he left a pitch over the middle of the plate. Ibanez drove the ball into the right-field stands, pulling the Royals to 3-1, the first hit against Franklin.
He loaded the bases with one out in the fifth, and Joe Randa hit a sacrifice fly to make it 3-2. Franklin escaped by striking out Carlos Beltran.
Winn, an All-Star last season with Tampa Bay, made a sliding catch in left on Relaford's liner in the second, a basket catch on Mike Sweeney's hard-hit liner in the fourth and got Relaford again on a sliding, backhanded catch in the sixth.
Suzuki made another great play, nailing Sweeney at second in the eighth after he singled to the right-field corner and tried to stretch it to a double.
Notes: Suzuki extended his hitting streak to 11 games, matching Wilson's team-high for the season. ... Just after ending the fifth by hitting into a double play, second baseman Boone made a nice defensive play by backhanding Sweeney's grounder up the middle. ... May made his seventh start. ... RHP Shigetoshi Hasegawa, who relieved in the seventh for Seattle, hasn't allowed a run in 11 games. ... The roof was closed because of a daylong drizzle, the fourth time in 23 home games it was closed for the whole game.