Marlins 5, Phillies 4. Miami's Tom Koehler faced off with Philly's David Buchanan. Koehler, making his 54th career start, was easily the more experienced of the two.
Christian Yelich drew a leadoff walk in the top of the first; a pair of forceouts were followed by a Marcell Ozuna single that put Casey McGehee in scoring position, but Buchanan then induced a Garret Jones foulout to end the inning. Ben Revere singled and stole second in the bottom of the inning, and would make it as far as third before being stranded. Buchanan worked around a Jarrod Saltalamacchia single in the second, and Koehler set the Phils down in order in the bottom of the inning. Yelich and McGehee both singled in the third, and moved into scoring position on an Ozuna groundout before Jones once again popped up to strand two runners.
The Phillies scored the game's first run in the bottom of the third when Freddy Galvis singled, took second on a passed ball, moved to third on a groundout, and came home on a Maikel Franco single. Franco was thrown out trying to stretch the hit, ending the inning. The Marlins tied it in the fourth on a homer by Enrique Hernandez, but Philly struck again in the bottom of the inning. Chase Utley led off with a double, Ryan Howard walked, and Grady Sizemore singled to load the bases. Domonic Brown hit into a double play that brought Utley home, and Carlos Ruiz singled to plate Howard for a 3-1 lead.
Buchanan worked around an error in the fifth, Koehler allowed a Howard single in the sixth, and the starters combined to permit nothing else in those two innings. Buchanan was pulled with one out in the seventh after his throwing error allowed pinch hitter Ed Lucas to reach, and Antonio Bastardo left the runner on. Carter Capps was flawless in the bottom of the seventh, as was Justin De Fratus in the top of the eighth. Revere led off the home eighth with a single and advanced to third on a steal-and-error; one out later, Dan Jennings replaced Capps and drew a grounder to short from Utley. The throw came home on the play, but Revere beat it, making the lead 4-1. Howard singled and Brown walked to load the bases with two outs, and Anthony DeSclafani relieved and retired Ruiz to leave all three runners on.
Jonathan Papelbon took the mound in the ninth with a three-run lead. Saltalamacchia greeted him with a double, Hernandez walked, and Adeiny Hechevarria singled to load the bases. Jordany Valdespin grounded out to bring in one run, and Christian Yelich singled home a second. Pinch hitter Justin Bour singled as well, scoring Hechevarria to tie the game and moving Yelich to third. Papelbon struck out McGehee, but then threw a wild pitch that brought Yelich home and put the Marlins in front. Steve Cishek walked Galvis and gave up a single to Cody Asche, putting the tying run in scoring position, but then struck out the next three Phillies to end the game.
The main feature of this game was, of course, the ninth-inning comeback, followed by the excellent start to a second ninth-inning comeback that never materialized. Before that, it was a relatively typical baseball outing, albeit one in which the Phillies had gone 3 for 14 with runners in scoring position (the ninth made it 3 for 17).
The ninth inning transformed the affair from a typical game to... a typical Phillies-Marlins game in 2014. The two teams have faced each other 16 times this season, with three more to come. Only four of those meetings have WPL scores below the median, with none lower than the 30th percentile - and nine of them have been in the 80th percentile or better.
If you're looking for a matchup that has grand implications for the postseason picture, this pairing of two teams with losing records hardly stands up against Tigers-Royals or Dodgers-Giants or any number of this year's other divisional races. But if you're just looking to see a highly entertaining baseball game? You can't do much better this season than Phillies-Marlins.