Joe Smith (2-2) got the first two batters on groundouts before Ellsbury hit an 0-1 pitch over the wall in straightaway center field. Ellsbury singled to center with one out to end Tuesday night's game.
Jonathan Papelbon (4-0) pitched a perfect ninth.
Dustin Pedroia and Adrian Gonzalez each had two hits for Boston, which won for the 10th time in 13 games.
Jason Kipnis homered for the fourth straight game for Cleveland, which lost for the 10th time in 13 games to fall to .500 for the first time since the fourth game of the year. Starter Carlos Carrasco allowed three runs — two earned — on nine hits and three walks while striking out five before leaving with the game tied 3-all in the eighth inning.
Boston starter Tim Wakefield took a 3-2 lead into the seventh inning with a chance for his 200th career win, but he gave up doubles to Lonnie Chisenhall and Ezequiel Carrera to tie it. Red Sox manager Terry Francona headed to the mound, leading Wakefield to pound his fist in frustration and drawing boos from the crowd.
The fans cheered Wakefield as he left the field, but he did not react. He allowed three runs on five hits and two walks in all, striking out six in 6 2/3 innings.
The right-handed knuckleballer, who turned 45 on Tuesday and is the oldest active player in the majors, will have another chance at becoming the 108th pitcher with 200 wins — the 89th since 1900 — on Monday or Tuesday night.
Carrasco, who had lost five straight starts, was suspended six games and fined $2,500 for throwing at the head of Kansas City's Billy Butler on Friday night. He said he would drop his appeal and begin the suspension after Wednesday night's game.
The teams are back for game four of the series on Thursday night, when newly acquired starter Erik Bedard will face former Red Sox pitcher Justin Masterson. Masterson is 3-3 with a 1.76 ERA in his last 11 games (10 starts). He was part of the deal that brought Victor Martinez to Boston at the 2009 trading deadline. In three career starts against his former team, he is 2-0 with a 1.25 ERA. … Bedard only went 1 1/3 innings and gave up five runs in his previous start, for Seattle against Tampa Bay — his first start since coming off the DL (sprained left knee) … To make room for Ubaldo Jimenez on the roster, the Indians optioned LHP David Huff to Triple-A Columbus. … Indians OF Michael Brantley was given the night off to rest his sore right wrist. … Kipnis is the first Indians rookie to homer in four straight games since Al Rosen in 1950, according to the Elias Sports Bureau. … Pedroia was the AL player of the month for July, with 46 hits in the month. … Boston SS Marco Scutaro was back in the lineup after sitting out Tuesday's game with dizziness.