BOSTON (AP) The Boston Red Sox hardly needed the help Houston's outfielders gave them with the offensive week they put up.
Xander Bogaerts hit a three-run homer and Ryan Hanigan had three singles and drove in four to lead the Red Sox to a 10-9 victory over the Astros on Sunday.
Hanigan's last hit was a gift that scored the tying run when two outfielders watched a routine fly ball fall between them. He then scored the go-ahead run on Mookie Betts' triple.
''Those things happen when you're playing good,'' Boston's Hanley Ramirez said. ''Little things happen to go your way. We've got to keep taking advantage of that and keep adding wins every day.''
It was the seventh win in eight games for the Red Sox, and completed a 6-1 homestand in which they scored 73 runs.
In a game that had four lead changes, the Red Sox regained the edge 9-8 in the seventh against Scott Feldman (2-3). Hanigan's fly fell between center fielder Carlos Gomez and right fielder George Springer, allowing Josh Rutledge to score from first. Betts then hit one in the right-center gap.
''I saw the play live with two outfielders converging and both stop,'' Astros manager A.J. Hinch said. ''I knew something happened. You've got to play the game until the ball stops you. Gomez called it and for whatever reason stopped. George heard it and he stopped.''
Boston's Jackie Bradley Jr. had a single to extend his majors' longest hitting streak this season to 21 games.
''It wasn't a pretty game today - on both sides,'' Red Sox manager John Farrell said. ''The defense contributed in this one; or factored in heavily.''
Luis Valbuena had a three-run homer and five RBIs for the Astros, and Carlos Correa added a solo homer.
''I called it and didn't catch it,'' Gomez said. ''We lost the game because of me today. There's nothing I can say. We lost because of me.''
Heath Hembree (2-0) pitched two innings of relief for the win. Craig Kimbrel got the final three outs for his 10th save.
Boston DH David Ortiz had the day off to rest his legs after getting a double, triple and homer in a game for the first time in his career on Saturday.
Red Sox left fielder Brock Holt was ejected by home plate umpire Joe West after getting called out on strikes.
Trailing 8-6 in the sixth, the Astros scored three times. Third baseman Rutledge's two-out throwing error allowed a run before Colby Rasmus' RBI double tied it. Tyler White followed with a run-scoring single.
The Red Sox had pushed ahead with four in the second against rookie Chris Devenski. Hanigan had an RBI single before Bogaerts homered over the Green Monster, making it 6-3.
An inning later, Hanigan's two-out, two-run single made it 8-4.
Boston starter Sean O'Sullivan was charged with six runs in 4 1/3 innings.
Devenski lasted just two innings in his fourth major-league start, getting tagged for six runs.
Valbuena homered into the bleachers over the Astros' bullpen.
Astros: Gomez was shaken up diving back hard into second on an attempted pickoff, but stayed in the game.
Red Sox: Farrell said LHP Eduardo Rodriguez (right knee) and RHP Joe Kelly (right shoulder impingement) would both make another rehab start for Triple-A Pawtucket.
The Red Sox scored two runs in the first. They've had multiple runs in the opening inning in 16 of their 38 games this season.
JUST TALL ENOUGH
Second baseman Dustin Pedroia made a leaping grab of Jason Castro's liner to end the fourth.
Boston designated O'Sullivan after the game.
Hinch said the Astros would make a few moves. OF Preston Tucker will be optioned to Triple-A with a corresponding move to come on Tuesday. Also, the club will make an undetermined move with Erik Kratz and reinstate OF Evan Gattis from the 15-day DL.
Astros: Off Monday. Reigning Cy Young winner Dallas Keuchel (2-5, 5.58 ERA) looks to end his four-game losing streak in the opener of a three-game series at the Chicago White Sox on Tuesday.
Red Sox: RHP Rick Porcello (6-1, 3.11) is set to face Royals' RHP Yordano Ventura (3-2, 4.62 ERA) in the first of three in Kansas City. Porcello has pitched at least six innings in 15 consecutive starts, the majors' longest active streak.