CLEVELAND -- 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."
Red Sox shortstop Stephen Drew went 0 for 2 with a walk in his season debut. He re-signed with Boston as a free agent last month.
Boston outfielder Grady Sizemore was hitless in four at-bats -- he popped up for the final out -- in his return to Cleveland. Sizemore was a three-time All-Star in nearly eight seasons with the Indians.
Masterson managed to work in and out of a mess he created for himself in the first. The right-hander gave up a single and two walks before throwing three straight balls to Jonny Gomes. Masterson, though, battled back and fanned Gomes, who took exception with plate umpire Phil Cuzzi's called third strike on a low fastball.
"From 3-0 to 3-3, which is pretty nice," Masterson said.
In the third, Masterson gave up a one-out single to Dustin Pedroia and walked Ortiz on four pitches before he got Pierzynski to hit into a double play.
"He went from being a little erratic with his command to seemingly he couldn't throw a ball after that," Red Sox manager John Farrell said. "Anytime we had a man on base he found a way to get a groundball double play."
Unable to do anything against Masterson, the Red Sox finally got on the board in the eighth when Brock Holt singled with one out and Bogaerts followed with his fourth homer, a shot into the seats in right-center.
Chisenhall's two-out single gave the Indians an early lead. He has eight RBI during Cleveland's winning streak.
The Indians went up 3-0 in the third when Michael Bourn led off with his fifth triple and scored on Asdrubal Cabrera's single.