The victory proved costly, though. Cleveland catcher Carlos Santana was taken off the field on a stretcher with his left leg in an air cast after blocking home for an out in the seventh inning. There was no immediate word on the extent of his injury.
Carmona (11-8), who was hammered for seven runs in 2 2-3 innings against the Yankees last Wednesday, allowed only two runs and eight hits. Duncan had three singles, a double and drove in two runs as the Indians won their third straight road game for first time this season.
Adrian Beltre belted two homers and drove in five runs for Boston, which lost first baseman Kevin Youkilis to injury.
Boston, which had last at-bats wins over Detroit the past two days, fell behind 6-1 with John Lackey (10-6) on the mound. Beltre hit a solo homer in the seventh and a three-run shot over the Green Monster in the eighth, but Chris Gomez worked the ninth for his 13th save.
Jed Lowrie popped to left with a runner on to end the game.
Santana was injured when right fielder Shin-Soo Choo fired a strike and he blocked the plate with his leg as Ryan Kalish came sliding in hard. He remained on the ground for several minutes before being taken off on a stretch. The crowd at Fenway Park gave him a nice ovation.
Youkilis left the game with a jammed right thumb. He lined out to short to end the first, grabbed his hand in pain, but stayed in the game until the top of the third.
Lackey was tagged for six runs on nine hits, walked four and struck out seven in 5 1-3 innings. He had allowed two or fewer runs in each of his last three starts.
Cleveland jumped ahead 2-1 on Duncan's two-run double in the fourth, after Matt LaPorta singled and moved to third on Jordan Brown's first career hit - a fan-intereference double down the right-field line.
The Indians made it 3-1 in the fifth when Trevor Crowe scored on Choo's double-play grounder. They chased Lackey with three more runs in the sixth, when he walked in a run before Choo lined reliever Dustin Richardson's first pitch to right for a two-run single.
Beltre's sacrifice fly made it 1-0 in the first. The Red Sox might have scored more, but Choo made a running, leaping grab with runners on first and third. Carmona walked the next hitter before fanning Bill Hall and Eric Patterson.
Carmona also got out of a first-and-third, no-out jam in the fifth by striking out Patterson and getting Marco Scutaro to hit into a double play.
Boston knuckleballer Tim Wakefield pitched two innings of relief on his 44th birthday and became just the second Red Sox player ever to play at that age. Hall of Famer Carl Yastrzemski is the other.
This program aired on August 3, 2010. The audio for this program is not available.