SEATTLE — Solo home runs from Nelson Cruz, Mike Zunino and Adam Lind helped the Seattle Mariners end Boston starter Rick Porcello’s six-start winning streak by beating the Red Sox 3-1 on Wednesday night.

Cruz, Zunino and Lind homered in the third, sixth and seventh innings, respectively, while Seattle starter Hisashi Iwakuma threw 7 1/3 shutout innings.

New Mariners closer Edwin Diaz earned his second consecutive save despite a shaky ninth inning that included a single, a hit batter and a wild pitch as the Red Sox scored their run. Diaz got Boston’s Travis Shaw and Sandy Leon to ground out to end the game.

The Red Sox (58-48) fell three games behind Baltimore in the American League East standings, despite outhitting the Mariners 7-4. Seattle’s first three hits of the game went for homers.

Porcello (14-3) suffered his first loss since May 17. He allowed three runs off four hits over eight innings in a complete-game effort.

Trailing 3-0 in the eighth, Boston mounted its best threat when rookie Andrew Benintendi and right fielder Mookie Betts collected back-to-back, one-out singles. Seattle reliever Drew Storen barely got out of that jam when Boston shortstop Xander Bogaerts flied out to the warning track in left to end the inning.

Benintendi, making his first career start, recorded his first two major-league hits.

Cruz hammered a 1-1 pitch from Porcello for a 441-foot solo shot to open the second inning. Cruz’s 27th home run of the season gave the Mariners a 1-0 lead.

Porcello didn’t give up another hit over the first five innings. At one point, he retired 11 consecutive batters, striking out five.

Red Sox slugger David Ortiz nearly took Iwakuma deep in the fourth inning, but his towering fly ball to right ran out of steam and was caught on the warning track.

NOTES: Boston 1B Hanley Ramirez (sprained left wrist) was not in the lineup Wednesday, and he could miss the rest of the series. Manager John Farrell said X-rays showed no structural damage. Ramirez hurt himself in a dugout fall after Tuesday’s game. … Seattle LHP Ariel Miranda was officially named the Thursday starter. Miranda, 27, will make his starting debut after pitching two innings of relief in his only other major league appearance, with the Baltimore Orioles at Safeco Field on July 3. Miranda was recently traded to Seattle for LHP Wade Miley. … Mariners RHP Taijuan Walker (right foot tendinitis) is in line to come off the disabled list and start Saturday against the Los Angeles Angels. Walker has not pitched for Seattle since July 6. … Red Sox 2B Dustin Pedroia, who had played in 63 consecutive games, did not play.