The Boston Red Sox lamented missed opportunities after their season-high-tying seventh straight loss on Wednesday night.
Preston Tucker homered twice and drove in three runs and Evan Gattis added a solo shot to give the Houston Astros the 4-2 victory.
Dustin Pedroia and Xander Bogaerts drove in a run each for Boston, which went 2 for 10 with runners in scoring position.
"We just haven't put it together, and that is basically it," Pedroia said. "When we get guys on, we have to find a way to get them in."
Collin McHugh (11-5) allowed seven hits and two runs in seven innings to help Houston extend Boston's losing streak. Luke Gregerson pitched a perfect ninth for his 20th save.
Tucker made it 1-0 with his homer in the first, Gattis hit his in the fourth and Tucker's 2-run shot pushed the lead to 4-0 in the fifth.
Blake Swihart singled to start the sixth and scored on a double by Pedroia cutting the lead to 4-1.
Brock Holt singled before an RBI single by Bogaerts got Boston within 4-2. But McHugh settled down after that to retire the next three batters and limit the damage.
Boston had a chance to cut the lead in the seventh when Shane Victorino and Mike Napoli hit consecutive singles with no outs before Swihart bunted into a force out. But McHugh sat down the next two batters to leave the Red Sox empty-handed and end his night.
"To me, the story of this one is the middle innings," Boston manager John Farrell said. "Multiple opportunities in those spots. McHugh was able to get a key strikeout in a couple situations to end the threat."
Boston starter Joe Kelly (2-6) yielded six hits, including a career-high three homers, and four runs with six strikeouts in 5 1-3 innings in his first start since June 23 after being recalled from Triple-A Pawtucket.
"Tucker put some good swings on some fastballs that were (weren't) located," Kelly said. "Ultimately, he made me pay for leaving the ball in the middle."
Houston rookie Carlos Correa, the top overall pick in 2012, singled in the fifth inning to extend his hitting streak to a career-long seven games.
Tucker's first homer sailed into center field with one out in the first inning. Gattis made it 2-0 with his home run to the Crawford Boxes in left field in the fourth.
The Astros lead the majors with 132 home runs and Wednesday was their 39th game with multiple homers.
The Red Sox didn't get a hit until Hanley Ramirez singled to start the fifth inning. He advanced to second on a passed ball before
McHugh plunked Alejandro De Aza. But he retired Victorino and Napoli grounded into a double play to end the threat.
Jose Altuve singled with two outs in the fifth before Tucker launched his second home run over the low fence in right field to extend the lead to 4-0.