CLEVELAND (AP) -- Once Justin Masterson found the strike zone, he stayed there.
And there was little the Red Sox could do about it.
Masterson shook off a rocky start and pitched seven scoreless innings as the Cleveland Indians ended Boston's seven-game winning streak with a 3-2 victory Monday night.
Masterson (3-4) walked four in the first three innings, but got a huge strikeout to escape a bases-loaded threat in the first and settled in to win for the first time in five starts. He allowed just three singles, struck out a season-high 10 and retired 12 of his last 13 batters.
During one stretch from the third to sixth, Masterson threw 25 consecutive strikes.
"I feel like I've probably thrown 25 balls in a row in one game," the affable right-hander said with a laugh. "It felt like we were pounding the zone."
Lonnie Chisenhall hit a two-run single in the first off John Lackey (6-4), and the Indians won their fourth straight.
Xander Bogaerts hit a two-run homer in the Boston eighth off Bryan Shaw to bring the Red Sox to 3-2. But left-hander Marc Rzepczynski retired David Ortiz for the final out in the inning, and Cody Allen worked a 1-2-3 ninth for his fourth save.
Cleveland improved to an AL-best 19-11 at home.
Masterson was two different pitchers against the Red Sox.
His wildness had him flirting with danger in the first and third innings, but he managed to pitch out of trouble both times. Masterson needed 61 pitches to get the first nine outs, but he struck out the side in the fourth on just nine pitches.
Masterson retired eight in a row before Ortiz singled through Cleveland's shift in the sixth. Masterson then induced A.J. Pierzynski to hit into an inning-ending double play for the second time.
It's been that kind of season for Masterson, who has struggled with his control and has not pitched like the All-Star ace the Indians are counting on.
"In the first three innings he usually runs into some tough spots," manager Terry Francona said. "He kind of flipped it tonight. Boy, did he ever. You looked up in the third inning and thought, OK, we got the lead, but we're going to be in the bullpen early. He got us pretty deep."
MARINERS 10, YANKEES 2
NEW YORK -- Kyle Seager homered, tripled twice and doubled, leading Felix Hernandez and the Seattle Mariners past the New York Yankees.
METS 11, PHILLIES 2
PHILADELPHIA -- Wilmer Flores hit a grand slam and drove in a career-high six runs, Bartolo Colon threw seven-plus sharp innings and New York beat Philadelphia in a makeup from an April rainout.
PIRATES 10, PADRES 3
SAN DIEGO -- Jordy Mercer homered and matched a career high with four of Pittsburgh's 16 hits in a romp over San Diego.
DODGERS 5, WHITE SOX 2
LOS ANGELES -- Clayton Kershaw shrugged off a two-run homer by Jose Abreu in the rookie's return from the disabled list, pitching Los Angeles past Chicago for his first home win of the season.
BREWERS 6, TWINS 2
MILWAUKEE -- Matt Garza took a shutout into the seventh inning and Mark Reynolds hit a two-run homer, sending Milwaukee past Minnesota.
ROYALS 6, CARDINALS 0
ST. LOUIS -- Danny Duffy worked six innings of one-hit ball and Alex Gordon homered to start a three-run seventh for Kansas City in a victory over suddenly punchless St. Louis.
MARLINS 3, RAYS 1
MIAMI -- Randy Wolf pitched six innings for his first victory since 2012, and Miami handed Tampa Bay its seventh consecutive loss.