CLEVELAND — Danny Salazar appeared to be in for a short outing Saturday. Instead, the Seattle Mariners ended up having a tough day.

Salazar got off to a rocky start, then combined with two Cleveland relievers to hold the Mariners hitless over the final eight innings and give the Indians a 4-3 win.

Salazar (2-2) gave up a double to Robinson Cano in the first, followed by homers on successive pitches to Nelson Cruz and Kyle Seager that made it 3-0.

"That was only three pitches," Salazar said. "Those home runs weren't even bad pitches. It was going to change. I felt the same in the first inning that I did the rest of the game."

Said Indians manager Terry Francona: "He started missing bats."

Salazar struck out six in 6 1/3 innings. Andrew Miller struck out four in 1 2/3 innings and Cody Allen pitched a perfect ninth for his sixth save.

Seattle manager Scott Servais handed the credit to Cleveland's pitching after watching his team get shut down.

"We didn't muster much against Salazar," he said. "Their bullpen's very good. It's experienced, they can make pitches, they don't give in. You hope you don't see those guys."

Jose Ramirez and Lonnie Chisenhall each had two RBIs in Cleveland's four-run first off Yovani Gallardo (1-3).

Cleveland has won eight of 11. Seattle's three-game winning streak ended.

Ramirez hit a bases-loaded double and Chisenhall's single gave the Indians a 4-3 lead.

"We came back and answered, which was huge," Francona said. "Jose's a good hitter. Lonnie with a big hit and then we made it hold up."

Cruz returned to the lineup after missing Friday's game with a tight hamstring. He hit the first pitch into trees beyond the centre field wall for a two-run homer.

Gallardo gave the lead back almost immediately. He walked the bases loaded before Ramirez's hit landed near the right field line. Jason Kipnis struck out, but Chisenhall singled up the middle.

"It was a crazy first inning," Servais said. "You don't usually see seven runs put up and that's it for the day, but sometimes it happens."

Gallardo allowed three hits, walked three and threw 38 pitches in the first.

"It's just falling behind guys, trying to finish things a little bit too quick, trying to be too fine," he said. "I've always said that if you walk that many guys, that's what happens."

Salazar walked Guillermo Heredia with one out in the seventh. Miller walked pinch hitter Carlos Ruiz, but struck out Taylor Motter and Jean Segura.

Miller struck out two in the eighth while Allen fanned two in the ninth as Cleveland's pitchers combined to strike out 12.

WHAT JAM?

Miller worked out of the trouble in the seventh with two strikeouts and then struck out Ben Gamel and Cano in the eighth before retiring Cruz on a flyout.

"You can see Andrew really compete," Francona said. "His stuff is what it is, it's really good. But his level of competitiveness really rises as he goes. That's fun to watch."

TRAINER'S ROOM

Mariners: RHP Evan Scribner (sore elbow) was put on the 10-day DL before the game.

UP NEXT

Mariners: RHP Chase De Jong will make his first major league start in the series finale. He's replacing staff ace Felix Hernandez (right shoulder bursitis) in the rotation.

Indians: RHP Josh Tomlin lost to the White Sox in his last start, allowing three runs in six innings. He's 4-1 in six career appearances against Seattle.