Updated

CLEVELAND (AP) -- Ariel Miranda allowed two hits and pitched into the sixth inning, Robinson Cano and Ben Gamel homered and the Seattle Mariners defeated the Cleveland Indians 3-1 on Friday night.

Miranda (2-2) didn't give up a hit until Jose Ramirez's one-out homer in the fourth. The left-hander, making his first career appearance against the Indians, struck out seven in 5 1/3 innings

Cano hit a two-run homer in the fourth. Gamel added a solo shot in the sixth, a towering drive to right.

Three pitchers combined to strike out 14 against the defending AL champions. Edwin Diaz recorded the final four outs, three on strikeouts, for his fourth save. He struck out Edwin Encarnacion with a runner on to end the eighth and pitched a perfect ninth.

Carlos Carrasco (2-2) gave up both home runs and struck out seven in eight innings.

Seattle won its third straight despite the absence of Nelson Cruz, who was scratched because of a tight hamstring. The Mariners cleanup hitter leads the AL with 19 RBIs.

Miranda walked two in the first and pitched around a two-out fielding error by third baseman Kyle Seager in the second. Ramirez's long fly toward the bleachers in the fourth was ruled a double, but the call was reversed after a review.

Carrasco retired nine in a row after allowing a double to start the game. Gamel led off the fourth with a double and Cano homered to center. Cano is batting .411 (7 for 17) with two homers and six RBIs in his career against the right-hander.

The Indians, who had won seven of nine, managed only four hits. Francisco Lindor singled in the sixth, but James Pazos struck out Encarnacion and Ramirez.

TRAINER'S ROOM

Mariners: RHP Steve Chisek (left hip) is dealing with mechanical issues on his minor league rehab, but is having no physical problems coming off surgery for a torn labrum.

Indians: OF Michael Brantley was given a planned day off as he continues his comeback from a shoulder injury that forced him to miss most of last season. He's batting .348 with four homers and 10 RBIs in his last 11 games.

UP NEXT

Mariners: RHP Yovani Gallardo will start against Cleveland for the first time since 2009 in the series' second game. He's gone 5-plus innings in each of his five starts this season.

Indians: RHP Danny Salazar allowed three runs in the first inning and got the loss in his last start against the White Sox.