Trailing by just a run in the seventh, Pedro Ciriaco -- starting in place of Dustin Pedroia at second base -- led off the frame with a double to right field off Indians starter Ubaldo Jimenez.
Cleveland then turned to left-handed reliever Tony Sipp, who struck out Jacoby Ellsbury for the first out of the inning. That's when Boston made two baserunning mistakes.
Left fielder Carl Crawford sent a hard-hit grounder to shortstop Asdrubal Cabrera, who made a nice backhand play. Ciriaco, thinking the ball was going to get through into left field, took off for third. When Cabrera made the stop, Ciriaco was a dead duck.
"I should have waited for it to go through, but I made a mistake," Ciriaco said.
Added Boston manager Bobby Valentine: "It was hit real hard. His first move was to score."
When Ciriaco got caught in a rundown, Crawford attempted to get into scoring position at second. But Cabrera tagged Ciriaco and then spun around to throw out Crawford, who hesitated going around first, for an inning-ending double play.
"It's the play," Valentine said of Crawford's decision. "Once the runner starts going back to third from second, if the runner's going hard the whole way -- which he is -- you make it a lot of times. The guy turned and made a good throw.
"I thought the worst we'd have in that situation was [Pedroia] hitting with two outs. A lot of things I thought didn't work out tonight."
The Red Sox also put runners on first and second with only one out in the eighth against Indians setup man Vinnie Pestano, but Jarrod Saltalamacchia struck out looking and Will Middlebrooks flied out to end the threat.
At 55-58, the Red Sox trail the Yankees by 11 games in the American League East and are 5 1/2 games out in the AL Wild Card race.
Boston's only offense came in the fourth and fifth innings against Jimenez. Adrian Gonzalez gave the Red Sox a 2-1 lead in the fourth with a two-run homer to the bleachers in right field. After Pedroia, who served as the designated hitter, singled to lead off the inning, Gonzalez unloaded on a 1-1 pitch to extend his hitting streak to nine games.
Boston got another run in the fifth when Pedroia's single scored Ellsbury from second base. Indians center fielder Michael Brantley attempted to throw him out at the plate, but the speedy Ellsbury slid in before catcher Lou Marson could get a tag down.
The lead wouldn't last long.
The Indians jumped on Red Sox starter Felix Doubront in the bottom half of the fifth after he had retired nine batters in a row. Doubront gave up three hits and walked two in the frame before exiting with the bases loaded and only one out. Left-hander Andrew Miller retired the only two batters he faced, but he gave up a sac fly to Brantley that gave Cleveland a 4-3 lead.
"He didn't have command of his fastball," Valentine said of Doubront. "His command is not quite what it was."
Doubront has now allowed a combined seven earned runs in the fifth innings of his last two starts. He has given up only two runs in the other frames. Doubront, who gave up four runs on seven hits over 4 1/3 innings, dropped to 10-6 with the loss.
"It's pretty rough," Doubront said. "I don't feel like I was throwing my fastball as good as before."
The Indians' small lead held up because Boston struggled to solve Jimenez. The Cleveland right-hander struck out 10 batters over six-plus innings, and he struck out the side in two frames.
Jimenez entered the game as the American League leader in walks (76) and the Red Sox planned to be patient against him. After walking Ellsbury to lead off the game, though, Jimenez didn't issue another free pass.
"He's getting every pitch a called strike," Valentine said. "He was throwing the ball on the outside corner, or wherever the heck it was. That's what I saw. He didn't throw any pitches inside, and he threw a lot of good pitches low and away, and they were all strikes -- called strikes."