Troy Taormina-USA TODAY Sports

Nathan Eovaldi sidestepped a pair of unearned runs in the third inning and pitched effectively into the seventh as the visiting Boston Red Sox topped the Houston Astros 3-2 on Monday.

Boston's Jarren Duran hit an RBI double in the third inning and a game-deciding two-run homer in the fifth.

Catcher Christian Vazquez had been due to start for the Red Sox, but he was scratched just before the game when he was traded to the Astros in exchange for minor leaguers Enmanuel Valdez and Wilyer Abreu.

Eovaldi (5-3) limited the Astros to the two runs on four hits and two walks with six strikeouts over 6 1/3 innings to record his first victory since June 8. Eovaldi was 0-1 with an 11.08 ERA over three starts last month.

John Schreiber followed Eovaldi to the mound and threw 1 2/3 scoreless innings, and Tanner Houck tossed a 1-2-3 ninth inning for his seventh save.

It wasn't until Eovaldi faced dire straits that he found his groove. Successive fielding errors by third baseman Christian Arroyo and shortstop Xander Bogaerts put runners on second and third with no outs in the bottom of the third.

Eovaldi surrendered a sacrifice fly to Yordan Alvarez that knotted the score at 1-1, and Aledmys Diaz followed with a run-scoring double to left field.

Eovaldi buckled down, first stranding Diaz and Kyle Tucker, who walked after Diaz drove home Gurriel, and then retiring the Astros in order in the fourth, fifth and sixth innings.

The right-hander retired 12 consecutive batters before Martin Maldonado reached on a single to right field with one out in the seventh. Schreiber entered and induced Altuve to roll into an inning-ending double play.

With two runners in scoring position and two outs in the eighth, Schreiber got a called third strike on Jeremy Pena.

Boston managed all the run support Eovaldi needed with a pair of two-out extra-base hits, both courtesy of Duran. His ground-rule double in the third drove home Bobby Dalbec and spotted the Red Sox a 1-0 lead against Astros right-hander Luis Garcia (8-7).

Dalbec, whose double led off the third, worked a leadoff walk off Garcia to open the fifth. Mirroring his effort in the third, Garcia retired Yolmer Sanchez and Kevin Plawecki before Duran struck again by drilling a first-pitch cutter out to right, his second homer of the year, giving Boston the lead.

Garcia allowed three runs on six hits and one walk with five strikeouts over seven innings.

More must-reads:

TODAY'S BEST
Do Oilers need more from Connor McDavid to get to Stanley Cup Final?
All-Rookie teams show gems available all over draft
The NBA has not witnessed this much parity in 50 years
Knicks expected to be 'aggressive' in upgrading their roster
Drew Bledsoe offers advice for Patriots rookie QB Drake Maye
2024 AFC revenge games: Brothers, 'Stefon Diggs Bowl' to take center stage
2024 NFC revenge games: Which game should Cowboys, others have circled?
How All-Star Race victory could turn Joey Logano's season around
Xander Schauffele's triumph could open the floodgates for his career
Anderson Silva, Chael Sonnen will finish off their trilogy in a boxing ring
Ranking the five best MLB free-agent signings of offseason
Veteran WR, former first-round pick announces NFL retirement
Oilers advance to West Final again after holding off Canucks in Game 7
Bengals star WR not expected to sign franchise tender before OTAs
Red Sox RHP diagnosed with ligament damage in elbow
Watch: Caitlin Clark shows off range with logo three, but Fever fall short
Former Dolphins receiving leader announces his retirement from NFL
Detroit Lions dominate PFF's top-25 players under 25
Hall of Famer, legendary Raiders offensive lineman dead at 86
Report: Cavs owner 'would never' trade Donovan Mitchell to this team