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.
"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."
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."
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 center 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."
Miller struck out two in the eighth while Allen fanned two in the ninth as Cleveland's pitchers combined to strike out 12.
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."
Mariners: RHP Evan Scribner (sore elbow) was put on the 10-day DL before the game.
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.