"It was really a whacky game," Phillies manager Pete Mackanin said.
The 10th-inning comeback started with a one-out single from Brock Stassi. Cesar Hernandez followed with a ground ball up the middle to Braves second baseman Brandon Phillips, which was deflected off pitcher Jim Johnson. Phillips could not get the ball to Dansby Swanson at second for a forceout to put runners on first and second. Aaron Altherr then hit a ground ball to Swanson, but he could not get the ball to second for a force.
"It's a crazy game we play," Phillips said. "It was a tough way to lose. We played a great game, and they played a great game also. You just have to tip your cap when you need to tip it. I feel like I should have made that play, and I've seen Swanson make that play. But things happen. I thought we had the game in the bag."
Suddenly the bases were loaded with one out. Odubel Herrera struck out swinging, but Maikel Franco hit a ball toward the right-field wall to score two runs for the Phillies' third win in a row.
"My approach is just go up there and look for my pitch, a good pitch to hit," Franco said. "He threw me a fastball away, and I put good contact on it."
Phillips hit a solo homer in the ninth against Edubray Ramos to tie it. His RBI double in the fourth inning extended his hitting streak to nine games. The Braves scored a go-ahead run in the 10th, thanks to an errant throw from Tommy Joseph that put the go-ahead run at third.
MOMENTS THAT MATTERED On the money:Matt Kemp kept the Braves' deficit at one run with an accurate throw to the plate in the eighth inning. Altherr drew a leadoff walk and advanced to third before aggressively attempting to score on Franco's fly ball. Kemp caught it in left field before making a throw to Tyler Flowers, who made a lunging tag to end the inning.
El Torito almost saves the day: Swanson barreled a line drive toward the right-center-field wall with the tying run on first and one out in the top of the seventh inning. It had a 73 percent hit probability, according to Statcast™. But center fielder Herrera made a fantastic running catch just short of the fence.
Herrera covered 89 feet in just 4.6 seconds. That ball is caught just 14 percent of the time, making it a five-star catch, according to Statcast™.
"It's a tough one," Swanson said. "We battled, and we hit a lot of balls hard. They just happened to catch them all. Credit them for the defense they were playing, and running some of the balls down we were hitting. That last inning there, a couple inches either way and it's a different ballgame. But that's how baseball works." More >
QUOTABLE "I felt pretty good. I felt like I was making big pitches. But I feel like I have to do a better job of executing that pitch in those big innings. I was able to keep us in the ballgame, but my goal is to always give us more than six innings." -- Braves starting pitcher Jaime Garcia, who held the Phillies scoreless until he surrendered three straight hits to begin a two-run sixth inning
"I caught the ball, I turned around and Swanson was making the turn. Everyone was running over there. I tried to make the heads-up play, threw it away and put ourselves in a jam." -- Joseph, on his errant throw to third in the 10th. Cameron Rupp had just thrown to first on Emilio Bonifacio's sacrifice bunt. Joseph saw Phillies shortstop Freddy Galvis sprinting toward third, making sure Swanson could not run uncontested to the bag. But Joseph thought Galvis was Swanson and threw to third with nobody there.
SOUND SMART WITH YOUR FRIENDS Braves catcher Flowers has thrown out more bases-stealers than he did all of last season. He is 3-for-7 in the catcher caught-stealing department, after going 3-for-63 last year.
Jerad Eickhoff lowered his career ERA to 3.36. According to the Elias Sports Bureau, it is the lowest of any Phillies pitcher through his first 45 career starts since Bruce Ruffin posted a 3.27 ERA from 1986-87. The last Major League pitcher with a sub-3.40 ERA through his first 45 career starts was the Mets' Noah Syndergaard, who had a 2.96 ERA from 2015-16.
IT'S MAIKEL'S FIRST Technically, this was Franco's first career walk-off hit. He enjoyed a walk-off moment Aug. 3, 2016, against the Giants, but it officially was a walk-off fielder's choice because Altherr failed to touch second base on the play. Franco actually should have had a walk-off double Saturday night, but instead of running to second he sprinted toward the outfield once the winning run scored. It is officially a walk-off single.
WHAT'S NEXT Braves:Mike Foltynewicz will take the mound when Atlanta and Philadelphia meet in the finale of their three-game series Sunday at 1:35 p.m. ET. Foltynewicz impressed the Braves with the composure he maintained while completing seven strong innings against the Nationals on Tuesday.
Phillies: Right-hander Zach Eflin (0-0, 3.60 ERA) pitches the series finale against the Braves. Eflin is making his second start of the season after replacing right-hander Clay Buchholz in the rotation. Buchholz is likely finished for the year after right elbow surgery last week.