"To be able to come from seven down early, obviously I would have never thought it would have ended like this with the way it started," Marlins manager Don Mattingly said. Castro's big night began with him on the bench. He entered as a pinch-hitter in the fifth and delivered with his fifth multi-home run game of his career, the first since August 2016 at Seattle while with the Yankees.
"If I knew a half-game off for rest would do that, I'd do that a lot with a lot of guys," Mattingly said. "Coming off the bench with two home runs is pretty cool." The big win came at a cost. Brian Anderson suffered a broken finger on his left hand after being hit by a pitch and could miss the rest of the season.
"Hopefully I'll be back in six weeks. I'm not exactly sure of the timetable yet," said Anderson, who is batting .261 and leads the team with 20 homers and 65 RBIs. "Today was a tough day for me, but I keep looking at it like it was a great day for our team. Like the best day I could even say with the way we came back from that streak we had going and with the way our guys fought today, that helped me out a lot."
Isan Díaz hit a three-run homer, Harold Ramirez and Neil Walker each had three hits and drove in two, and John Berti also went deep for the Marlins, who pounded out 19 hits and have won six of their last seven over the Phillies.
"It's a tough, tough loss," Phillies manager Gabe Kapler said. "That's a game we have to win. To go up 7-0, we just didn't make enough pitches to put hitters away. We weren't making enough plays on defense and we let a team back in the game that we shouldn't have let back in the game. It's that simple."
Philadelphia led 7-0 in the third thanks in part to Scott Kingery's three-run triple and Corey Dickerson's two-run double. It was the first time the Phillies have blown a 7-0 lead since August 2003 at Montreal, when they led 8-0.
"As a pitcher you want that run support," Phillies starter Vince Velasquez said. "What more do you want with a 7-0 lead, and then you end up giving it up." The Marlins tied it in the bottom of the third. All seven runs were charged to Velasquez, who only recorded one out in the inning.
"Right now I feel pretty embarrassed," Velasquez said. "I'm pretty embarrassed and disappointed and I take full responsibility for the whole outcome of the game." Ramirez's two-run single made it 7-4 and Díaz's three-run homer drew the Marlins even.
"We had a lot of momentum on our side and I was trying to keep the momentum going," Díaz said. "Everyone was saying, 'Pass the baton, pass the baton,' and everyone was contributing and I was trying to do my part."
Tyler Kinley (2-1) got the win with 1 1/3 innings of relief. Philadelphia reliever Nick Pivetta (4-6) allowed five runs, one earned, in 2 1/3 innings. The Phillies played without star Bryce Harper, who was placed on the paternity list.
The Phillies regained a 9-7 lead before the Marlins stormed ahead with a five-run fifth sparked by a two-run double by Walker. Castro's two-run homer, his 12th of the season, extended Miami's lead to 15-9 in the sixth.
He added another two-run shot in the eighth. Marlins starter Hector Noesi allowed seven runs in three innings. HIGH-SCORING LOSS The Phillies had won 33 consecutive games when scoring at least nine runs.
HOME RUN STREAK ENDS The Marlins kept the ball in the park to end their franchise record of allowing a home run in 23 consecutive games, dating back to July 29. It was the fourth-longest streak in major league history.
TRAINER'S ROOM Phillies: RHP Juan Nicasio left in the third inning with shoulder soreness after throwing two pitches, allowing a single to Jorge Alfaro and throwing a ball to Lewis Brinson. Marlins: Anderson exited in the fourth after being hit by a 96-mph pitch thown by Velasquez. ... RHP Pablo López (shoulder) pitched six innings, allowing one run, in a rehab outing for Triple-A New Orleans on Wednesday. ... SS Miguel Rojas (hamstring) began a rehab assignment with Single-A Jupiter.
UP NEXT Phillies: RHP Zach Eflin (7-11, 4.57 ERA), who starts Saturday in Miami, is 0-4 with an 8.42 ERA over his last 10 games (six starts). Marlins: RHP Jordan Yamamoto (4-4, 4.31) has lost his last four decisions over six starts and has a 7.34 ERA during that span.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports