HOUSTON - The Red Sox were on the verge of disaster.
Until Andrew Benintendi saved the day.
The Sox held on to beat the Astros 8-6 in Game 4 of the ALCS after Benintendi robbed Alex Bregman of what could have been the game-winning hit in the ninth inning.
With the bases loaded, Bregman hit a soft liner to left. Benintendi went into a dive and snared the ball just before it hit the ground.
Had the ball landed, it likely would have rolled to the wall and won the game for Houston.
Benintendi bailed out Craig Kimbrel, who picked up a six-out save with another tightrope act. The Red Sox closer teetered on the brink of disaster, walking three, hitting a man, and allowing two hits.
Jackie Bradley Jr. continued his hot streak, hitting a two-out, two-run home off Josh James in the sixth inning to put the Red Sox in the lead for good.
Seven of the eight Red Sox runs scored with two outs.
Neither team got much from their starting pitcher.
Rick Porcello struggled for the first time this postseason, giving up four runs in four innings of work. The righty was hit hard, giving up seven hits including two home runs.
Astros starter Charlie Morton lasted only 2 1/3 innings, giving up three runs on three hits.
How it happened:
The Red Sox opened the scoring in the first on a two-out, two-RBI single by Rafael Devers.
Controversy hit in the bottom of the first. Jose Altuve saw a would-be two-run homer to right field called back on fan interference. Right field umpire Joe West ruled on the field that a fan prevented Mookie Betts from making a leaping catch, and the call stood on replay review.
Carlos Correa cut the Red Sox lead to 2-1 with a single in the bottom of the second inning.
Benintendi doubled in the third inning and was driven in by a Xander Bogaerts double.
The Astros tied the game 3-3 in the bottom of the third. George Springer led the inning off with a solo home run. Altuve doubled off the left field wall and came around to score on a two-out single by Josh Reddick.
Astros left fielder Tony Kemp hit a solo home run off Porcello in the fourth.
The Red Sox tied the game in the top of the fifth on a two-out single by Bogaerts. The hit drove in Benintendi, who had doubled.
Houston took a 5-4 lead in the bottom of the fifth on a two-out single by Correa off Joe Kelly. Yuli Gurriel scored after getting into scoring position on a good dirt-ball read.
Bradley’s two-run homer in the sixth put the Red Sox back in the lead 6-5.
The Red Sox added an insurance run in the seventh. J.D. Martinez singled before Ryan Pressly and Lance McCullers combined to walk three straight batters to force in a run. The inning was extended after Correa missed touching second base on a would-be double play ball.
The Sox made it 8-5 when Martinez drove in Betts with a single in the eighth.
Houston added a run off Kimbrel in the bottom of the eighth, but it could have been two runs had Betts not thrown out Kemp trying to leg a single into a double. The Astros put two runners on and scored one of them on an Altuve groundout, but Kimbrel got out of the inning.
With David Price warming, Cora went back to Kimbrel in the ninth. He walked the bases loaded before Benintendi saved the game with the catch.
Game 5 is Thursday night in Houston. The Red Sox have not announced a starter to replace Chris Sale, who will not pitch after dealing with a stomach illness earlier this week. The Astros will counter with Justin Verlander.