Marlins - 000 200 000 - 3 10 3 Red Sox - 004 001 10x - 6 5 0It took 86 games - but the Red Sox finally won four in a row.
David Ortiz's two-run opposite-field home run capped a four-run third inning; he also doubled and scored in the sixth. Rick Porcello (6-8-2-1-4, 95) settled down after allowing five consecutive singles in the fourth, retiring the Marlins in order in the fifth and sixth before turning the ball over to the bullpen.
Ryan Hanigan walked with one out in the third. A two-base throwing error by Miami starter Tom Koehler (6-5-5-2-2, 104) put Hanigan on third and Mookie Betts on second. Brock Holt's groundout scored Hanigan and Xander Bogaerts's infield single scored Betts. Then Ortiz went deep for the 15th time this season. All four runs were unearned, though you'd think that since the pitcher made the error, the runs should be charged to his ERA.
Porcello immediately gave two runs back. Five straight one-out singles cut the lead to 4-2 and Miami had the bases loaded. Dee Gordon grounded to third and Pablo Sandoval threw home for a force. Porcello then made a nice snare of a hard grounder and threw to first for the third out.
Ortiz led off the sixth with a ground-rule double into the triangle. Hanley Ramirez scorched a single to center, moving Flo to third. Sandoval grounded into a double play and Ortiz scored. Alejandro De Aza began the seventh by reaching on pitcher Sam Dyson's throwing error. He took second on a groundout and broke for third on a 1-2 pitch to Betts. Mookie fanned, but catcher J.T. Realmuto's throw went into left field and De Aza scored.
Robbie Ross pitched a perfect seventh. Matt Barnes allowed a two-out home run in the eighth. Koji Uehara needed 11 pitches to set down the Marlins in the ninth.
The Yankees held off the A's 5-4, so the Red Sox remained 5 GB.
Tom Koehler / Rick Porcello
Betts, CFAmong 49 qualified pitchers, Porcello's 6.08 ERA in dead last in the American League.
De Aza, LF
Since June 21, the Red Sox are 10-5.