BOSTON — The Houston Astros patiently waited out Rick Porcello through seven scoreless innings, then pounced when the Red Sox right-hander delivered a pair of mistakes.

Jake Marisnick led off the eighth with a double and George Springer drove the very next pitch from Porcello out for his AL-leading 17th homer as Houston won 3-1 on Friday night.

"Impressive win," Astros manager A.J. Hinch said. "Our pitching did really well to hang in there all the way to that last out. It was pretty exciting."

The Astros continued their torrid month of May with their ninth straight victory and got a perfect eighth inning from right-handed reliever Ryan Pressly, who set a record with his 39th consecutive scoreless appearance.

The Astros trailed Porcello and the Red Sox 1-0 entering the eighth, when Marisnick doubled to left on a 1-1 slider. Springer was ready when Porcello threw a high changeup, belting it over Boston's bullpen in right-centre.

"We were on our game for seven innings and then I messed up on two pitches and they capitalized on it," Porcello said. "It's a heck of a job on their part and I've got to get better late in the game."

The Astros improved to 12-3 this month and matched the 2017 World Series championship team for the best start in franchise history at 30-15.

Will Harris (1-0) got the win with one scoreless inning of relief. Roberto Osuna picked up his 11th save, getting Mookie Betts to fly out to right with two runners on to end it. Boston went 1 for 11 with runners in scoring position and stranded 11.

Boston manager Alex Cora said it was his call to leave in Porcello, who had thrown 91 pitches through seven, and accepted the blame for the result.

"He doesn't deserve to lose that game," Cora said. "The way he moved the fastball, changed speeds, everything he did was outstanding. That's the best lineup in baseball and he went seven scoreless."

Houston won the opener of the three-game series between the last two World Series winners and a rematch of last year's ALCS, which Boston won in five games.

Christian Vazquez went 3 for 4 with a pair of doubles and an RBI for Boston, which entered the game second to only Houston for the best record in May at 10-3.

Porcello was replaced by Ryan Brasier, who allowed an unearned run after walking Michael Brantley and running into some defensive problems. Brantley took second on a passed ball and third on a wild pitch before scoring on Josh Reddick's sacrifice fly to right.

STILL SCORELESS

The Astros honoured Pressly in the clubhouse with the ceremonial "player of the game robe."

Pressly helped himself with one of the top defensive plays of the night on a high chopper down the first-base line. Pressly was going full speed when he fielded the ball and threw it against his momentum, getting the ball to first baseman Yuli Gurriel in time without hitting Rafael Devers as he ran down the line.

The play ended the eighth and extended Pressly's string of scoreless innings, surpassing former Boston closer Craig Kimbrel, who had 38 in 2011 while with the Atlanta Braves.

"I just try to put it at the back of my mind as far as I possibly can. My job is to go out there and get people out and throw up zeroes as many times as I possibly can," Pressly said. "It's a big moment for me in my career. I couldn't be any happier than to spend it with these guys on this team."

STRONG STARTS

Porcello allowed two runs and six hits and a walk with three strikeouts.

Gerrit Cole pitched five scoreless innings for Houston, allowing six hits, walking one and striking out three. He was replaced by Hector Rondon, who allowed the game's first run after Xander Bogaerts led off with an in infield single and scored on a single by Vazquez.

Boston had been 0 for 9 with runners in scoring position before Vazquez came through and put Boston up 1-0.

TRAINER'S ROOM

Astros: 2B Jose Altuve (strained left hamstring) is "pain-free" and could start some fielding work in the next few days, manager A.J. Hinch said. The Astros placed Altuve on the 10-day IL retroactive to Saturday. ... Aledmys Diaz started at 2B, but left in the middle of the second inning after running out an infield single. The Astros said Diaz had "left hamstring discomfort." He was replaced by Tony Kemp, who made a diving stop on a sharp grounder by Vazquez in the fourth and likely prevented a run from scoring.

Red Sox: 2B Dustin Pedroia (left knee) began a rehab assignment with Triple-A Pawtucket on Friday. Pedroia, who has been limited to nine games over the past two seasons because of the knee, played five innings and went 1 for 3. ... Boston placed C Sandy Leon on the paternity leave list Friday and recalled Oscar Hernandez from Pawtucket. ... RHP Chandler Shepherd was designated for assignment.

UP NEXT

Astros: RHP Corbin Martin (1-0) makes his second career start. Martin made his big league debut Sunday, striking out nine and allowing two runs on three hits and a walk in 5 1/3 innings against Texas.

Red Sox: RHP Hector Velazquez (1-2) was announced as Saturday's starter after the game.

___

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports