PHILADELPHIA -- - J.T. Realmuto hit an RBI single that capped a three-run rally in the eighth inning off NL ERA leader Sandy Alcantara, and the Philadelphia Phillies beat the Miami Marlins 4-3 Wednesday night for their seventh straight win.
Kyle Schwarber had three hits and drove in two runs as the Phillies won for the 12th time in 13 games. They are 41-19 since June 1, vaulting them into second place in the wild-card race.
"We feel like we're in the game no matter what until the final out is recorded," Schwarber said. "That's a good pitcher out there. We showed we're capable of doing things like that. We're never out of a ballgame."
JJ Bleday singled, doubled, tripled and drove in a run for Miami, which has lost nine of 11.
Alcantara (10-5), a leading candidate for the NL Cy Young Award, began the day with a 1.88 ERA. He had allowed only two hits and held a 3-1 lead before the Phillies tagged him for six hits in the eighth.
"It was a little shocking," Marlins manager Don Mattingly said.
Jean Segura led off the inning with a swinging bunt that just stayed fair, not even reaching third base, for an infield hit. After Bryson Stott's solid single, Brandon Marsh twice pulled the bat back while attempting to bunt before driving an 0-2 pitch for an RBI single to pull Philadelphia within a run.
After a lengthy mound visit, Schwarber tied it by hitting the next pitch for an RBI single, putting runners on first and third with no outs.
With the crowd of 23,021 in an uproar, Rhys Hoskins hit a broken-bat liner that was caught by shortstop Miguel Rojas, who doubled off Marsh at third. Alec Bohm followed with a single as Schwarber barely beat the throw to third by right fielder Bryan De La Cruz.
Realmuto lined the next pitch for a tiebreaking single to left, finishing Alcantara.
"Exciting," Realmuto said. "A lot of fun for us."
Alcantara struck out four in 7 2/3 innings. He entered leading the NL in innings and complete games, and is trying to become the first player in the Marlins' 30-year history to win the Cy Young. His ERA rose to 2.01.
The right-hander thinks he might have been tipping his pitches when the Phillies connected for those four straight hits in the eighth and said he plans to spend time watching video of that inning on Thursday.
"I don't know what happened," Alcantara said. "I was throwing strikes, my best pitches. They got me tonight."
It's why he was confused with the results, thinking he might have been giving a way a tell.
"I believe too much in my stuff, and I know what I got," he said.
Noah Syndergaard allowed two runs on six hits in six innings in his second start with the Phillies after being acquired from the Los Angeles Angels at the trade deadline last week. He struck out four and walked two.
"Definitely one to build on," Syndergaard said.
Jacob Stallings' two-out single in the second gave Miami a 1-0 lead. The Marlins tacked on another in the fourth on Charles Leblanc's bloop single to short right field over the drawn-in Phillies infield after Bleday's leadoff triple. Bleday's double off the wall in right in the eighth made it 3-1.
Schwarber had an RBI double in the sixth.
After singling to start the game, Joey Wendle got doubled off at first base when he misread Miguel Rojas' liner to the outfield and went all the way past second base and couldn't get back to first in time after right fielder Nick Castellanos made a good running catch.
Leblanc extended his on-base streak to start his career to 10 consecutive games with a second-inning single. He is batting .455 during the stretch.