MIAMI – Julio Teheran had as many extra-base hits as he allowed Friday night against the Marlins, and that was just one of the reasons it was another impressive night for the Braves' budding ace.

Teheran clamped down after Giancarlo Stanton’s two-run homer in the first inning and the Braves offense eventually broke through against Tom Koehler for a 3-2 win in the series opener at Marlins Park.

“The more (Teheran) goes out there, the more impressed I get by him, by his demeanor and the way he goes about his business,” said manager Fredi Gonzalez, whose Braves snapped a four-game losing streak and reclaimed sole possession of first place in the National League East. “I think you’re just watching him grow up in front of your face.”

Teheran (5-3) won his third consecutive start, allowing five hits, two runs and one walk in 7-1/3 innings and also scoring the tying run after hitting a leadoff double in the seventh inning, his second hit of the night. Jason Heyward tripled to drive him in and B.J. Upton’s sacrifice fly scored Heyward for a 3-2 lead.

Craig Kimbrel pitched a perfect ninth inning with for his 153rd career save, one from equaling John Smoltz’s franchise record. He has 14 this season.

The Marlins didn’t have more than one baserunner in any inning after the first against Teheran, who retired 13 of the last 14 batters he faced.

“He’s throwing four or five different pitches, commanding them all,” said Marlins second baseman Ed Lucas, who had one of five Miami hits. “And he does a really, really good job of changing speeds, especially for someone as young as he is (23). With that many pitches and changing up speeds on you, it almost becomes 10 different pitches. So he kept everybody off balance.”

Teheran’s 1.83 ERA is tied with Cincinnati’s Johnny Cueto for second-best among major league starters.

“He’s a stud,” said Chris Johnson, who drove in the Braves’ first run with an RBI single in the sixth to cut the lead in half, 2-1. “(Teheran) earned this one. We’re still not throwing too many crooked numbers up there, so he had our back tonight and we gave him just enough.”

After Lucas singled with one out in the first inning and Stanton homered on a hanging slider, the Marlins didn’t advance another runner to second base against Teheran and the Braves bullpen.

“The only mistake that I made, and when you make a mistake here you pay for it,” Teheran said of the pitch to Stanton. “The rest of the game I was just concentrating and I was just focused on the game and trying not to make a mistake. I think I pitched good.”

Besides his key leadoff double in the seventh, Teheran also had a leadoff single in the fifth, also to right field.

“That’s why those guys, you tend to keep them in the game longer,” Gonzalez said, “because you don’t have to pinch-hit, they can handle the bat in a bunt situation or whatever situation you’ve got them in, and they help themself.”

Gonzalez called it a “no-brainer” decision to leave Teheran in to hit for himself to start the seventh inning, given his relatively low pitch count at the time. Teheran was pleased with the decision and wanted to make it pay off.

“I thought right there that I’ve got to start a rally,” he said. “I was just trying to put the ball in play, and that’s what I did. I think that was the biggest play of this game.”

The upstart Marlins pounded Atlanta pitchers during a three-game sweep of the Braves at Marlins Park a month ago, and the two teams were tied for first place entering Friday’s series opener.

For most of the night, it looked like Stanton’s mammoth first-inning homer might be enough for the Marlins and Koehler (4-5). The early innings were a continuation of the Braves’ offensive woes in the past three games in their four-game home-and-home skid against the Red Sox this week.

After Heyward singled on the first pitch of the night and B.J. Upton singled to put runners at first and second with none out, Freddie Freeman struck out on three pitches and Justin Upton grounded into an inning-ending double play.

Freeman struck out in each of his first three at-bats and went 0-for-4 to remain hitless in 28 at-bats against the Marlins this season, with one walk and 12 strikeouts. He’s hit .347 with nine homers and 29 RBIs in 47 games against everyone else.

Freeman ended a nine-game RBI drought when he doubled in a run Thursday at Boston after a B.J. Upton single, but he hasn’t had a hit with a runner in scoring position in nearly two weeks. The Braves were 0-for-4 with runners in scoring position through the first five innings, after going 3-for-24 in the last three of their four losses to the Red Sox this week.

But they broke through in the sixth after a leadoff walk by Justin Upton and single from Evan Gattis, who hit the first pitch after being hit by pitches in each of his previous two at-bats. Johnson singled through the left side of the infield to drive in the Braves’ first run, before Simmons lined into a double play with Gattis caught off second base.

“It’s really nice to come up with a big hit with a guy in scoring position,” Johnson said. “And God, B.J. had a great at-bat (sacrifice fly in sixth), especially down 0-2. He battled, got the ball to the outfield and got that guy in. That was the at-bat of the night. Then Teheran and our bullpen took care of the rest.”

Teheran pitched 15 scoreless innings in his past two starts before Friday, when Stanton abruptly ended that streak in spectacular fashion with a mammoth homer to straightaway center field in the first inning, a 450-foot drive that was the fifth of Stanton’s 16 homers this season to travel at least that far.

According to ESPN Stats & Info, no other team has as many 450-foot homers as Stanton has by himself. The Marlins strongman, after hitting one foul that was even longer, connected flush with a hanging slider on a 1-and-2 count, sending the ball over the black batter’s-eye wall behind and above the high fence near the 418 (feet) sign.

But after that, Teheran was in control. The Marlins didn’t have more than one baserunner in any other inning against him, and Teheran retired 12 consecutive batters before Adeiny Hechavarria’s infield single to start the eighth inning.

“Every time (opposing teams) get a base hit or a home run, that’s when I start being a little more focused on the game,” Teheran said. “It doesn’t mean that I wasn’t before, but I get a little more focused and tough. I try to be tougher.”