Rafael Devers had a three-run homer, Kevin Plawecki hit a two-run single and Alex Verdugo had three hits for the Red Sox.
Seeking its first postseason appearance since winning the 2003 World Series, Miami is second in the NL East . The Marlins fell three games behind division-leading Atlanta, which was idle.
Eovaldi (3-2) didn't allow a hit until Garrett Cooper's leadoff double in the fifth. Miguel Rojas singled but Eovaldi struck out Jazz Chisholm and Chad Wallach, then retired Corey Dickerson on a groundout.
''If he would have had an easier fifth inning, he probably would have gone back out for the sixth,'' Boston manager Ron Roenicke said. ''His pitch count was really low but I thought he did a great job. We know he competes. He located pitches well.''
A 30-year-old right-hander who was with the Marlins from 2012-14, Eovaldi was lifted after 76 pitches in his second appearance since returning Sept. 12 a stint on the injured list caused by a strained right calf.
''Good effort from him and good results,'' Roenicke said.
Ryan Brasier pitched a scoreless eighth, and Matt Barnes got three straight out for his eighth save in 11 chances.
Jose Urena (0-2) allowed two runs, five hits and two walks in 5 2/3 innings with six strikeouts.
Plawecki hit a two-run single in the sixth on the ninth pitch of an at-bat, chasing Urena with a hard grounder past diving third baseman Brian Anderson. Boston had been hitless in 13 straight at-bats against the Marlins with runners in scoring position .
''I try not let the moment get too big for me,'' Plawecki said. ''Just control my breath, control the moment and get a pitch I'm trying to hit. I've been seeing the ball so much better this year.''
Devers hit his 11th homer in the seventh, a drive off Johan Quezada.
Miami closed in the bottom half on pinch-hitter Jorge Alfaro's RBI single, Chad Wallach's run-scoring double and Starling Marte's RBI groundout.
''Obviously, that happened pretty fast, kind of a little bounce back right there and made the rest of the game where you needed a base-runner and anything can happen at any time,'' Miami manager Don Mattingly said.
Alfaro homered twice, then left that game after taking a foul ball off his helmet. He was tested for a possible concussion following the game, manager Don Mattingly said.
Plawecki is making the most of his opportunities as the backup to starting catcher Christian Vazquez. After hitting .222 and .210 the previous two seasons, with Cleveland and the New York Mets, Pawlecki is batting .317 a .793 OPS.
''I've made a lot of adjustments in my swing, one in particular this last off-season,'' Plawecki said. ''It's been a long road keep trying to figure out a swing I felt comfortable and that allowed me to have results. Right now the way I've been swinging it this year, even in spring training, it felt good from the get-go.''
HEATING UP IN MIAMI
Verdugo went 6 for 9 in the last two games against the Marlins. Verdugo hit .500 in the series and also made a sliding catch of a Miguel Rojas sinking fly ball.
Red Sox: LHP Eduardo Rodriguez (heart inflammation caused by COVID-19) returned to Boston this week for additional tests. Rodriguez missed this season ... OF Yairo Munoz was replaced after his second at-bat in the fifth because of back spasms.
Marlins: INF Jon Berti (cut right finger) had stitches removed and is working out at the alternate training site.
Red Sox: LHP Martin Perez (3-4, 4.33) is to start the opener of a three-game Friday against the visiting New York Yankees and LHP Jordan Montgomery (2-2, 4.76).
Marlins: RHP Sixto Sanchez (3-1, 1.69) is to start one of the games of Friday's doubleheader against Washington. The rookie won his major league debut at Washington on Aug. 22, allowing runs three runs in five innings.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.