Adrian Gonzalez had four hits for the Red Sox, who took two of three from Baltimore to conclude their sixth consecutive winning road trip. Boston also went 2-1 at Tampa Bay.
Ellsbury put the Red Sox up 1-0 in the third inning and 3-0 in the seventh. The 27-year-old outfielder has a 29-game hitting streak against the Orioles, batting .445 with six homers and 20 RBI over that span.
"It's just one of those things," Ellsbury said, "I really don't know what it is. I like hitting here."
|More on Red Sox at Orioles|
Fortunately for Baltimore, the two AL East teams don't meet again until Sept. 19 in Boston. Lest the Orioles think Ellsbury saves his best for them, it should be noted that he's batting .316 with 15 homers and 54 RBI overall.
"We shouldn't feel like he's picking on us," Orioles manager Buck Showalter said. "He's having a great year, and he seems to be even better against us. You could ask the same question about [Josh] Reddick and Gonzalez."
Reddick went 2 for 3 to lift his career batting average against Baltimore to .400, but on this day, Ellsbury was the catalyst.
"He kind of put us on his shoulders today," manager Terry Francona said. "He does that from time to time."
Both drives came off Jake Arrieta (9-7), who has yielded a team-high 19 long balls in 20 starts. Ellsbury's only other two-homer game was on April 22, 2008, against the Los Angeles Angels.
"His job is to get on base and wreak havoc on the bases," teammate Kevin Youkilis said. "The home runs are extra."
Miller (4-1) allowed two hits over 5 2/3 innings in a wild but effective performance. The 6-foot-7 left-hander issued a career-high six walks and had only one perfect inning.
Still, Miller took a no-hitter into the fifth. Facing Craig Tatum with one out, he threw a pitch that floated three feet wide of the plate and rolled to the backstop. Two pitches later, Tatum grounded a single up the middle.
In the sixth, Derrek Lee singled with two outs and Mark Reynolds walked to chase Miller. Former Oriole Matt Albers came in and maintained Boston's two-run lead by getting Nolan Reimold to hit into a force play.
"Albers came in and did a really good job. He's been doing a good job all year," Baltimore's Adam Jones said. "Bard came in, then Papelbon. But we should have had runs off the starter. We put ourselves in the right situation. That's all you can ask for. Getting a hit isn't easy, but putting ourselves in the situation is a start."
Miller gave up three straight one-out walks in the second inning to load the bases for Tatum, who bounced into a 4-6-3 double play to end the threat.
"I think the double play was definitely a momentum shift," Miller said. "Fortunately, I was able to get into the game after that. If we didn't get the double play, this game likely would have gone differently."
Arrieta allowed three runs and nine hits in seven innings, matching his longest outing of the season. He's 0-3 in his last four starts.
The game's final run came in the eighth when Mark Hendrickson walked Crawford with the bases loaded.
Boston's Dustin Pedroia beat out a slow roller to third base in the fifth inning to extend his hitting streak to 18 games, a career high. He has reached base in 30 straight games, also a career high.
Pedroia's lone hit Tuesday night came in identical fashion.
- Temperature at game time was 95 degrees.
- Red Sox DH David Ortiz and Orioles closer Kevin Gregg completed their three-game suspension for their part in a bench-clearing melee in Boston on July 8.
- Ellsbury has seven career homers against Baltimore, five at Camden Yards. He has seven homers in July, a career high for one month.
- After allowing three runs without getting an out against Boston on Monday, Mark Worrell inherited a bases-loaded jam from Hendrickson and struck out Marco Scutaro and Varitek before retiring Yamaico Navarro on a fly ball.