ATLANTA -- Brandon Phillips enjoys playing the role of late-game hero, even if it means occasionally having a cooler of energy drink dumped on his head.
Phillips, an Atlanta native who joined the club this spring, responded with the game-winning walk-off hit for the second straight game. On Sunday, he poked a single through a five-man infield in the ninth inning lift the Atlanta Braves to a 5-4 win over the Miami Marlins
"(Saturday) was crazy, but today was one of those epic things," Phillips said moments after being drenched with blue liquid during a postgame television interview. "I never thought I'd have back-to-back walkoffs."
The heroics came with his father, James, and two of his children in the stands for Father's Day.
"I was just looking for a ball out over the plate so I wouldn't roll over it and hit into a double play," Phillips said. "When that inning started, I thought, 'Oh, snap, I think I'm going to do it again. I'm going to have another chance. That would be nice, especially on Father's Day.'"
The last Atlanta player with game-ending RBI in back-to-back games was Ozzie Virgil on Sept. 18-19, 1988.
The rally began against Miami rookie Drew Steckenrider (0-1) when Johan Camargo reached on a one-out single that third baseman Derek Dietrich could not field. Ender Inciarte lobbed an opposite-field single to left, sending Camargo to third.
The Marlins brought left fielder Marcell Ozuna in for an extra infielder, but Phillips found a hole between shortstop J.T. Riddle and the second base bag that drove in Camargo with the winning run.
It was the eighth career walk-off hit for Phillips and the 11th time Atlanta has won a game in its last at-bat this season.
"I've been talking about these guys for a long time," Atlanta manager Brian Snitker said. "You keep the game manageable and these guys have a knack of figuring out a way to win. If we can stay in one, I like our chances."
Atlanta (31-37) won two of three games in the series and moved ahead of Miami (30-38) into second place in the National League East.
Steckenrider, who went to high school in Atlanta, was placed in a tough situation because of Miami's depleted bullpen. It was only his fourth major league appearance and first in a high-pressure situation.
"Probably a tough situation for (Steckenrider) to be in today," Miami manager Don Mattingly said. "The bullpen gets to a point where you use a lot of guys, so he's in that situation today. Still, he's got to throw strikes. He's calm out there, so it's not really a bad situation, just not so good right now."
The winning pitcher was Jim Johnson (5-1), who pitched a scoreless ninth inning in relief.
Neither starting pitcher received a decision.
Atlanta right-hander Mike Foltynewicz bounced back from his worst outing of the season -- eight runs in 3 1/3 innings against Washington -- to give up two innings over six innings. Foltynewiciz allowed seven hits and two walks, with four strikeouts and received no decision.
Miami's Jose Urena, who was seeking his fifth straight win, pitched six innings and allowed two runs on three hits and two walks, with four strikeouts. Urena retired 12 of 13 batters from the second through fifth innings.
The Marlins broke through for two runs in the sixth inning against Folytnewicz. With one out, Justin Bour ripped an 0-2 pitch just out of the reach of Atlanta shortstop Dansby Swanson to drive in Dee Gordon and Christian Yelich.
Atlanta scored four times in the seventh to take a 4-2 lead. Rio Ruiz had a sacrifice fly, Johan Camargo drove in a run with a pinch-hit single and Nick Markakis added a two-run opposite-field single.
Miami tied the game a 4-4 against reliever Jose Ramirez in the eighth inning. Christian Yelich walked and Ozuna hit a long two-run homer, his 18th, into the visitor's bullpen in left field.
"Recently we've been scoring," Mattingly said. "Since the end of May, we've been playing really well, being pretty good offensively."
Both teams wasted early opportunities.
Atlanta loaded the bases with no out in the second inning, but the bottom of the order couldn't provide an RBI. Miami had runners on the corners with one out in the third when Giancarlo Stanton struck out into a double play, with J.T. Riddle being erased in a rundown while trying to score from third base.
NOTES: Atlanta LF Matt Kemp returned to the starting lineup. He left the game on June 14 with left hamstring tightness and missed two starts. ... Miami RHP Jose Urena tied a club record when he hit three batters on Sunday. It was the 10th time it has occurred, the last coming on May 27, 2016, when Adam Conley hit three Braves. ... Miami CF Christian Yelich extended his season-best hitting streak to nine games with a single in the fourth inning. ... Marlins 2B Dee Gordon now has an eight-game hitting streak in Atlanta. ... Atlanta manager Brian Snitker was ejected for arguing with home plate umpire Chris Segal in the sixth inning. It was his second ejection of the season.