Trevor Bauer has a heated history with the Astros — trash talk with Alex Bregman, a rocky relationship with Gerrit Cole, and a blown save and loss in Game 3 during Houston's three-game sweep of the Indians in last year's AL Division Series.

No surprise Bauer brought his best Thursday night.

Bauer pitched eight strong innings, Leonys Martin and Jake Bauers homered off Cole, and Cleveland beat host Houston 2-1.

Bauer gave up one run, four hits and six walks while striking out three.

"He competed his rear end off," Cleveland manager Terry Francona said. "As a lineup, they don't go out of the zone and his stuff — his last pitch was 97 or 98. And he had six walks and three strikeouts with that stuff. Their lineup is good. They're balanced, they're deep and he competed like crazy."

He improved to 8-0 in his career against the Astros, including two wins against Cole, his former teammate at UCLA. That doesn't include the three relief appearances Bauer made against Houston in last year's ALDS.

"I knew I was going to have to mix up some sequences and do things a little differently than I normally did," Bauer said. "I thought it worked OK. They hit some balls hard right at some people."

Martin got the first hit off Cole with a solo homer in the third that just made it over the right field wall. Bauers led off the fifth with a solo home run to left to give Cleveland a 2-1 lead.

Brad Hand pitched the ninth for his seventh save.

Cole surrendered two runs and three hits with 10 strikeouts in seven innings.

Boston 7, Detroit 3: Michael Chavis hit a two-run homer, Rick Porcello got his first victory of the season and the host Red Sox beat the Tigers to split their four-game series. Andrew Benintendi and Mookie Betts had two doubles apiece for Boston, and Rafael Devers hit a two-run double as the Red Sox had a season-high seven extra-base hits.

National League

Los Angeles 2, Chicago 1: The Dodgers spoiled Jon Lester's return to the rotation by scoring on an error and a sacrifice fly, beating the host Cubs to avoid a three-game sweep.

Lester, who spent 16 days on the injured list because of a left hamstring strain, allowed one run on four hits in five innings. He struck out five and walked none.

"I felt fine, I felt normal," he said. "It's just good to be back out there."

Cody Bellinger drove in the Dodgers' second run with a sacrifice fly off Kyle Ryan in the eighth after Los Angeles loaded the bases with two walks and a hit batter. It was Bellinger's 31st RBI of the season, tying Milwaukee's Christian Yelich for the most in the majors.

Arizona 5, Pittsburgh 0: Zack Greinke did a little bit of everything, holding the Pirates to two hits over seven innings and adding a big hit of his own to lead the Diamondbacks to a four-game sweep of the host Pirates.

Cincinnati 4, Atlanta 2: Reliever David Hernandez struck out three in a row with the bases loaded, Eugenio Suarez drove in three runs and the host Reds beat the Braves in a rain-delayed victory.

Miami 3, Philadelphia 1 (10): Starlin Castro hit a two-run homer with two outs in the 10th inning to lift the Marlins over the host Phillies.