MIAMI—Braves left fielder Todd Cunningham was so good on Friday he even managed to impress himself.

Barely 20 minutes into his first big-league start Cunningham chased down Martin Prado’s liner to the gap in left-center. Not long after that Cunningham got a hit and scored a run, and then did the same thing in the fourth inning.

The highlight for Cunningham was the go-ahead single in the eighth inning of the Braves’ 5-3 victory. That was the one that made Cunningham finally show a crack in his stoic demeanor.

“I don’t get fired up very often but I think I gave a little fist pump or hand clap or something,” Cunningham said. “I was pretty excited.”

Cunningham’s RBI helped send the Braves to just their second win in their last seven games. They are now 5-2 against the Marlins and 11-17 against the rest of their schedule.

Braves starter Julio Teheran left with a 3-2 lead in the sixth inning but Gincarlo Stanton smashed a deep shot to center off Braves reliever Cody martin to tie it in the seventh. Stanton’s second home run of the game wasn’t enough, though, because Cunningham came through with the big hit.

Cunningham was back in the majors after a brief stint with the Braves in 2013. The team called him up after outfielder Kelly Johnson went on the disabled list, and Cunningham wasted no time making an impact.

Cunningham was 3-for-4 with the big RBI against Marlins relief pitcher Bryan Morris.

“From the first inning, being able to help Julio with our defensive setup and making the play on Prado,” he said. “Got a couple knocks early and kept getting them. I wish they were all this easy.”

After Cunningham’s RBI in the eighth, the Braves added another run when Christian Bethancourt struck out but reached base on Morris’ wild pitch and allowed Andrelton Simmons to score. Braves relief pitchers Jim Johnson and Jason Grilli made the lead hold up.

The Braves trailed 1-0 and went up 2-1 before twice more giving leads gave back.

“We don’t have shortcomings in want-to and fighting and battling back,” Braves manager Fredi Gonzalez said. “There is no shortcoming there with our club. It was nice. They tied the ball on Stanton’s ball to straightaway center and then we came right back and scored a couple runs and Grilli and Johnson did a terrific job.”

Teheran was effective but couldn’t go deep in the game. That left it to the Braves’ bullpen to handle more than three innings, which once again proved to be an iffy proposition. But the Marlins have their own bullpen woes, and they surfaced again when Mike Dunn (0-2) and Morris faltered in the eighth.

Teheran held the Marlins to two runs but couldn’t get out of the sixth inning. When pinch hitter Ichiro Suzuki’s hit just got past Teheran’s glove for a two-out hit in the sixth inning, the pitcher pounded his glove in frustration.

“It was really hard; I thought I was going to get it,” Teheran said. “The same thing happened in the first inning when Dee Gordon hit it. I wanted to stay in the game but (Gonzalez) decided to take me out. That’s part of the game.”

Teheran was up to 103 pitches and up next after Ichiro was Dee Gordon, who leads the majors in batting average. Gonzalez called on left-handed reliever Luis Avilan to face lefty Gordon, who hit a chopper that got past diving second baseman Jace Peterson and moved Ichiro to third base.

Brandon Cunniff relieved Avilan and got Martin Prado to ground out. But Stanton led off the seventh inning by crushing Martin’s second pitch well over the tall wall that’s 418 feet to center.

“He’s a good hitter so we’ve got to be careful and make good pitches to him,” Teheran said. “If you make a mistake he will let you pay for it.”

The Braves took the lead with a rally started by Cunningham. He doubled to lead off the fourth inning and scored when Cameron Maybin followed with a double.

The Marlins never roughed up Teheran but they made him work to get through innings.

Teheran faced six batters in the first inning, when his throwing error on a pickup attempt moved Gordon into scoring position. Marcell Ozuna poked a single with two outs to score Gordon and Christian Yelich followed with a walk.

After the Braves took the lead on Teheran’s two-out, two-run single in the second inning the Marlins sent up five batters in the bottom of the inning without scoring a run. Drew Stanton led off the Marlins’ third inning with a home run, the ninth allowed by Teheran in his past six starts.

That home run only tied the game but the problem was that Teheran was up to 60 pitches by the end of the inning. Teheran made relatively quick order of the Marlins in the fourth and fifth innings and looked as if he would do the same in the sixth until Ichiro sneaked the ground ball past him.

Cunningham made all of that moot with his big hit in the eighth inning.

“We got drafted the same year, played every single year together, been through the whole minor-league system together,” said Braves infielder Phil Gosselin, who also had three hits. “To see him grow from (Single-A) Rome to here it’s pretty cool to reflect on that.”