The Braves have said repeatedly that they must pitch well and play fundamentally sound baseball, doing all the little things right, if they are to be successful in 2015. And they did all that Monday on opening day at Marlins Park.

They used “small ball” to manufacture two runs, got a solid performance from Julio Teheran, then watched the Craig Kimbrel-less bullpen pass its first test with flying colors in a 2-1 win against the Marlins.

“The guys in this room, we just want to win,” said closer Jason Grilli, who struck out Giancarlo Stanton to begin a perfect ninth inning that earned him a save in the veteran’s Braves debut, a day after closer Craig Kimbrel was traded. “Just find a way to win. Today’s a case in point. Everybody played the way we needed to fundamentally, and we did what we had to do.”

After Teheran gave up three consecutive singles to start the seventh inning, loading the bases with none out and a 2-1 lead, left-hander Luis Avilan and Jim Johnson pulled off the escape act to protect the lead, including the play of the game on a double-play grounder induced by Avilan against Jarrod Saltalamacchia.

“They really got my back right there,” said Teheran, who was charged with eight hits, one run and one walk with four strikeouts in six innings, improved to 4-0 with a 2.78 ERA in 11 career starts in April. “We’ve got great guys out there (in the bullpen), and we saw it today.”

The Braves have said since trading away most of their top power hitters during the offseason that this offense, under new hitting coach Kevin Seitzer, would have to be opportunistic and fundamentally sound.

Rookie second baseman Jace Peterson, batting second in his Braves debut, played a big part in each of the Braves’ runs. He singled to center field in his first plate appearance, with one out in the first inning. Peterson advanced on a balk by Marlins starter Henderson Alvarez and scored the first run of the Braves season on a single up the middle by 3-hole hitter Nick Markakis, in the veteran Markakis’ first Braves plate appearance.

The Braves got a runner on, got him over and got him in. They were on their way.

“One time we (manufactured a run) by getting the big base hits, and the other time we did it by fundamentals,” Braves manager Fredi Gonzalez said.

After the Marlins tied it in the third, Braves leadoff man Eric Young Jr. and Peterson helped put together the go-ahead second run in the sixth. Young, another making his Braves debut, doubled to start the inning, alertly taking second when the ball landed just under glove of center fielder Marcell Ozuna as he tried to make a diving catch coming in.

Young moved to third on Peterson’s sacrifice bunt, then raced home on Markakis fielder’s choice grounder to second baseman Dee Gordon, who didn’t make a great throw when he needed to with Young running on the play. Young slid around and under Saltalamacchia’s tag for a 2-1 lead.

“We got a leadoff double by EY, brought him over, and EY’s speed and his athleticism, he was able to beat the throw to the plate,” Gonzalez said. “That’s the way we’ve got to create runs. It was nice to see the guys putting the ball in play, fundamentally sound plays, and the pitching.”

One inning later, it was up to the bullpen to bring it home for the Braves, and they did by getting eight outs in the last seven batters.

“Our bullpen did a perfect job,” said rookie catcher Christian Bethancourt, who helped plenty. “You can’t ask any more than that of our bullpen today. You’ve got Avilan, he came with the bases loaded and no outs, facing a right-hander, and he got the double-play ground ball.”

Avilan entered to face Saltalamacchia with no wiggle room, protecting a one-run lead with the bases loaded and none out. He got him to hit a grounder to third baseman Alberto Callaspo, who threw home to Bethancourt, who fired a throw to first baseman Freddie Freeman for the second out.

“The only thing I was worried about was to not throw the ball over Freddie,” Bethancourt said. “I was really careful.”

Johnson coaxed a foul pop from Hechavarria to end the seventh inning, then pitching a perfect eighth to get the lead to Grilli, a former All-Star closer now thrust back into the role post-Kimbrel. Grilli struck out sluggers Stanton and Michael Morse before Martin Prado lined out to end the game.

“I’ve always loved closing,” Grilli said. “When you’re a reliever, you strive to be that last guy in the end. But we’re all closers. Avilan, to me, tip your cap to that guy. That guy was the hero of the game on the mound tonight because he made a big pitch, got a double play for us, and allowed us to win that ballgame.”