HOUSTON - The Red Sox won for the third consecutive time and John Lackey (10-6) rebounded from a tough stretch to allow four hits and two runs with a season-high five walks in six innings. He had allowed five or more runs in each of his previous three starts.
Rookie Christian Vazquez got his first three major league hits and drove in three runs, while David Ortiz had three RBI to break open the game in the sixth inning and lead Boston over the Houston Astros 8-3.
Scott Feldman (4-6) allowed seven runs and tied a season-high with 11 hits in 5 1-3 innings.
"It just looks like there is not a lot of finish," Houston manager Bo Porter said. "When he was really good early on in the year, there was finish to the fastball, there was late life, there was sharpness to the breaking ball."
Houston's Chris Carter homered twice for his fourth multihomer game of the season and his second this week. He extended his hitting streak to a career-high seven games.
Daniel Nava and Bradley got things going for the Red Sox in the sixth with consecutive singles. Feldman intentionally walked Stephen Drew to load the bases with one out. Vazquez's double made it 5-1 and chased Feldman.
He was replaced by Darin Downs, who walked Holt to load the bases again. Ortiz's bases-clearing double to right-center came next.
Holt's RBI triple, which bounced off the bullpen in right-center and away from L.J. Hoes, gave Boston a 1-0 lead in the third.
Dustin Pedroia followed with a double to the corner of left field to make it 2-0.
Drew tripled with two outs in the fourth inning before scoring on a ground-rule double by Vazquez to push the lead to 3-0.
Lackey walked two batters through the first three innings and two more in the fourth before Houston got its first hit on an RBI single by Enrique Hernandez that cut the lead to 3-1 with two outs.
Carter's 18th home run landed in the first row in the Crawford Boxes in left field to cut the lead to 8-2 in the sixth. He's the first Astro to have at least 18 homers in the first half of the season in consecutive years since Lance Berkman in 2008-09.
Soon after Carter returned to the dugout following his homer, and as the Astros were still celebrating, a foul ball hit by Robbie Grossman sailed into the dugout and came within inches of hitting Carter in the face. He dropped to the ground after it flew by as his teammates shook their heads at the close call.
"I just heard `heads up' (and) it came right at my head," he said. "I moved, and it hit the wall."
He homered again on his next at-bat, launching a 91 mph fastball to left field, where it clanged off the foul pole to make it 8-3 in the eighth and give him six homers in his last seven games.