Haseley's grounder sends Phils past Miami 5-4 in 15 innings
Adam Conley (2-11) hit Hoskins and then walked Phil Gosselin to open the 15th. Andrew Knapp dropped a sacrifice bunt that moved Hoskins and Gosselin up a base before the Marlins intentionally walked Maikel Franco, loading the bases with one out for Haseley.
With the Marlins using five players in the infield, Haseley hit a hard grounder to shortstop. It looked as if it could have been be a double-play ball. At the least, shortstop Miguel Rojas could have had a force at home for the second out. But, Rojas bobbled the grounder, allowing Hoskins to score the winning run in a game that lasted 5 hours, 13 minutes.
"A very professional game by us," Knapp said. "We could've let that one get away and gone home, but we're playing for each other and the city. It's great to pull that one off."
Ranger Suarez (6-1) pitched three scoreless innings and capped an impressive performance by Philadelphia's bullpen. Seven relievers combined for 11 scoreless innings. None of the Phillies' eight pitchers walked a batter.
"It's been really impressive," Phillies manager Gabe Kapler said of the bullpen. "That was a lot of work for (Suarez)."
Bryce Harper doubled, tripled and drove in a pair of runs for the Phillies, who snapped a six-game losing streak while improving to 8-9 against the Marlins this season.
Asked if the win showed the Phillies, who failed to qualify for the postseason, aren't packing it in, Kapler said: "I think the players demonstrated that tonight. The fight from the players did the talking."
Philadelphia, which had postseason aspirations after signing Harper in the offseason, needs wins in its final two games against Miami to end the season with a winning record.
Harold Ramirez homered and Rojas had four hits for Miami.
The Marlins had a hit in every extra inning, except the 15th, but couldn't score.
"We gave ourselves some chances and just weren't able to get them in," Marlins manager Don Mattingly said. "That's a game you have to get a big hit and we just weren't able to do it tonight."
The teams combined to use 19 pitchers and 26 position players.
Miami took a 4-2 lead in the third on Isan Diaz's RBI single to right that scored Rojas. Starlin Castro also reached on the play when Diaz got caught in a rundown between first and second. The Phillies' throw home to get Castro was late and Diaz then safely made it to second.
Philadelphia got a run back in the fourth on Haseley's RBI single to left-center and tied it in the fifth on a sacrifice fly by Harper.
Vince Velasquez allowed four runs on seven hits in four innings.
Pablo Lopez gave up four runs on eight hits in 4 1/3 innings.
WALLACH STEPPING DOWN
Marlins bench coach Tim Wallach won't return for the 2020 season. Wallach, who has worked alongside manager Don Mattingly for the last nine seasons, told reporters he would like to be closer to his family in California.
Castro's first-inning double gave him a career-high 56 extra-base hits this season.
Miami: RF Lewis Brinson was lifted in the fourth inning with a right foot contusion.
Phillies: C J.T. Realmuto had surgery on his right knee on Friday. He is expected to be ready for the start of the 2020 season. ... SS Jean Segura (sprained right ankle) likely won't return this season.
Miami LHP Caleb Smith (10-10, 4.31) opposes Phillies RHP Zach Eflin (9-13, 4.16) on Saturday night.