After managing just one run in a three-game series at Baltimore, Boston won its second straight over Cleveland, which has lost four in a row.
The Red Sox entered the game with the fourth-lowest batting average in the AL. But they are 4-2 after a five-game losing streak that began with three consecutive losses in Cleveland.
Xander Bogaerts finished the offensive onslaught with a solo homer in the eighth, his sixth of the season.
John Lackey (8-4) struggled early when he allowed three runs and six hits in three innings. But he gave up just one hit in his next 3 2-3 scoreless innings before being replaced by Andrew Miller and has allowed three runs or less in nine of his last 10 starts.
Justin Masterson (4-5) had his shortest stint of the season - two innings plus two walks in the third - 11 days after he had a season-high 10 strikeouts in seven innings against Boston and beat Lackey 3-2.
The Indians took a 2-0 lead in the second on Carlos Santana's eighth homer after a single by David Murphy.
The Red Sox went ahead with three runs in the bottom of the inning. Masterson walked the first two batters, David Ortiz and Napoli. Daniel Nava singled, but Ortiz was thrown out trying to score by center fielder Michael Bourn. Pierzynski then doubled in two runs and Jackie Bradley Jr. singled in another.
Cleveland tied it in the top of the third on consecutive doubles by Asdrubal Cabrera and Michael Brantley.
But Masterson again walked the first two batters, Bogaerts and Pedroia, in the third and was replaced by Kyle Crockett. Napoli doubled both runners in, putting Boston on top 5-3.
After Brantley's RBI double, Lackey retired 14 of the next 16 batters, allowing runners only on a walk and an error. Cabrera doubled with two outs in the seventh, ending Lackey's night. Miller ended the threat by retiring Brantley on a groundout.
Boston tagged three relievers for four runs in the seventh. Bradley led off with a single, Brock Holt singled and both scored on Pedroia's double. Ortiz was walked intentionally and Pedroia scored when Napoli singled to right and Murphy let the ball get away from him for an error. Nava then doubled in Ortiz, making it 9-3.
© 2018 Cox Media Group.