With Mookie Betts and Dustin Pedroia on the disabled list, Boston's offense stepped up Sunday night to earn a split against the World Series champions.
Rick Porcello pitched well into the seventh, Mitch Moreland and Andrew Benintendi each homered and the Red Sox beat the Houston Astros 9-3.
"To come out and put some runs against (Charlie Morton) and let Rick settle in and do his thing, that was a big one for us," Moreland said. "We kept scoring throughout the game and never let up. That was a good win for us."
Boston slugger J.D. Martinez left in the ninth inning with back spasms. Cameras showed him talking to a team trainer in the dugout and pointing to his lower back after being pinch hit for by Sam Travis. Boston manager Alex Cora said Martinez was OK, and he pulled him mostly because he believed the game was in-hand.
"I told him 'Hey man, we are up four with the best closer in the game. If we can't shut it down without you, we don't deserve to win the game,'" Cora said.
Travis hit a two-run single.
Porcello (8-2) allowed three runs — two earned — on five hits with five strikeouts in 6 1/3 innings. Porcello has allowed three runs or fewer in nine of his 13 starts this season.
"These last two games were big for us," Porcello said. "It's early June, but we dropped the first two games, and we felt like we needed to punch back a little on them."
Moreland, who had three hits, hit a two-run homer to center in the first to give Boston a 2-0 lead. Benintendi hit a solo homer in the fifth.
Brock Holt knocked a two-run triple to center in the sixth, and Blake Swihart followed with an RBI single to chase Houston starter Charlie Morton (7-1). Holt added an RBI single in the eighth.
"We came here and we competed at a high level," Cora said. "We know we're a little bit banged up but guys step up and the energy was great. We faced four of the best righties in the big leagues and we did a good job with them. We know that team is going to be around in October, and where we want to be probably are going to have to go through them."
Morton was tagged for a season-high six runs on nine hits with seven strikeouts in 5 1/3 innings.
"It wasn't a great night for him," Houston manager A.J. Hinch said of Morton. "You know both execution and getting the swings and misses he's accustomed to. He didn't generate hardly any swings and misses against lefties with the breaking ball.
Morton ended his career-best 10-game winning streak that dated to September. He had allowed three runs or fewer in each of his previous six starts.
"The fact I wasn't getting ahead a lot, missing locations and basically it was a two-pitch mix," Morton said. "They did a great job getting to the heater. They were hitting the curveball hard. It was just one of those nights where I felt like my back was against the wall because they were putting together good at-bats and I wasn't locating and I wasn't getting ahead."
George Springer led off the first with a solo home run to left for Houston. It was Springer's fourth leadoff homer of the season.
Alex Bregman cut the lead to 6-3 with a two-run single in the seventh.
Houston had opportunities with runners on base but struggled, finishing 1 for 14 with runners in scoring position.
"It's not frustrating," Jose Altuve said. "We're going to do this a lot. Sometimes we're going to come here and we're going to have a lot of opportunities and we're going to execute. I don't think there's frustration around this clubhouse."
Astros: OF Josh Reddick, who is on the 10-day disabled list with an infection in his left knee, went 1 for 4 with a single while playing right field in a rehab assignment at Double-A Corpus Christi. ... IF/OF Marwin Gonzalez was out of the lineup Sunday. Gonzalez left Saturday's game with right knee soreness after making a leaping catch at the wall in the third inning.
Red Sox: Following a day off Monday, RHP Steven Wright (1-0) will make his first start of the year Tuesday against the Tigers. Wright has a 2.25 ERA in 16 innings spanning six relief appearances, but he hasn't allowed a run over his last four appearances. Cora said the rest of the starting rotation will be pushed back a day.
Astros: After an off-day Monday, LHP Dallas Keuchel (3-7) will start the first of a two-game series against the Mariners on Tuesday. Keuchel is 4-1 with a 1.94 ERA over his last six starts against the Mariners. Keuchel has allowed 10 runs in 16 innings over his last three starts.