The Red Sox, whose magic number to clinch the AL East outright is down to one, clinched at least a share of the division title thanks to the Yankees' loss.
Boston can lock up the division with either a win against the Astros on Friday or a Yankees loss to the Toronto Blue Jays.
Carlos Correa led the Houston hit parade by going 4-for-4 including a two-run home run, his 24th. He drove in three runs as Houston (99-60) won its fourth consecutive game.
Yuli Gurriel and Cameron Maybin also drove in one run apiece for Houston.
Mitch Moreland launched his 22nd homer, a solo shot, and Xander Bogaerts drove in a run for the Red Sox, whose lead over the Yankees atop the division remained at three games with three games to go.
The AL West-champion Astros have outscored their opponents 49-9 during their winning streak, extending their franchise record of consecutive games with 11 or more runs to four.
Houston remains one game behind the Indians for the league's top record after Cleveland's 5-2 victory against the Minnesota Twins.
Astros starter Brad Peacock (13-2) turned in a solid five-inning effort, limiting the Red Sox to two runs on four hits with a walk and two strikeouts.
Red Sox starter Eduardo Rodriguez (6-7) matched the shortest start of his career, lasting only 1 2/3 innings while surrendering five runs on six hits with two walks and two strikeouts.
McCann's solo bomb came in the sixth and Correa's two-run blast in the seventh put an already out-of-hand game even further out of reach, making it 12-2.
Houston had the game in hand after scoring four runs in the fourth to extend its lead to 9-2.
Correa had an RBI ground-rule double, and Gurriel and Maybin slapped RBI singles before Gonzalez trotted home on a passed ball.
Boston trimmed the deficit to 5-2 in the second inning after Moreland wrapped a leadoff home run around the right-field foul pole and Bogaerts plated a run with a two-out RBI single.
Bregman's homer landed in the Green Monster seats in left with two outs in the second inning to push the Astros' lead to 5-0.
Gonzalez plated the game's first three runs with a two-out double six batters into the game.
NOTES: Houston RF Josh Reddick (sore back) was not in the lineup but hopes to play Friday. ... Boston RF Mookie Betts returned after missing two games with left wrist inflammation and a right thumb bone bruise. INF/OF Eduardo Nunez (sprained right knee) missed his third straight game. ... The Red Sox teamed with the Boston Celtics, Bruins, New England Patriots and Revolution to launch the "Take The Lead" project Thursday at Fenway Park to combat racism and hate speech. The event featured a panel discussion with former Boston stars Tommy Harper, Andre Tippett, Bob Sweeney and Cedric Maxwell. ... Seventy-six years ago Thursday, Red Sox legend Ted Williams completed his 1941 season with a .406 batting average. No major-leaguer has hit .400 or better in a season since. ... Astros RHP Charlie Morton (13-7, 3.63 ERA) opposes Red Sox RHP Doug Fister (5-8, 4.87) on Friday.