The bats were nowhere to be found as Mets’ starter Robert Gsellman tossed a gem and sent the Braves to a 5-1 loss at SunTrust Park on Sunday.

The loss officially eliminates the Braves from wild card contention. They need to win their final 14 games to avoid a fourth consecutive losing campaign, something that the franchise hasn’t endured since a seven-season streak from 1984-90.

After keeping it within striking distance at 2-1 after eight innings, the Mets scored three runs off Jose Ramirez to close it out in the ninth.

Braves starter Julio Teheran got off to a horrific start, walking three of the first five hitters with a Jose Reyes triple included. The Braves were behind 2-0 before stepping into the batter’s box.

“The first inning was a little struggle for me,” Teheran said. “I didn’t make my pitches in the first inning, a couple walks too. ... We were down two runs, and it’s always tough to start a game 2-0.”

Braves pitching coach Chuck Hernandez visited the mound after Teheran’s third walk, and whatever was said must have worked. He retired 16 of the next 20 with one Met reaching on an error.

“After that, he extended the game really good,” Braves manager Brian Snitker said. “He was having a really hard time with everything seemed like in the first inning. Just the command, everything. But he kept it manageable. ... It was good that he got through six.”

The fourth inning presented some mild trouble. Ozzie Albies couldn’t gather a grounder from Gsellman. Norichika Aoki singled, and Gsellman was thrown out at third after taking his foot off the bag to end the inning.

Teheran retired the final six batters he faced. He finished with six innings of three-hit, two-run ball. He walked four hitters, but just one after the first frame. He said he calmed down as the game went on, admitting he tried to be perfect at the beginning.

“I didn’t want them to score anything else,” he said. “That’s part of the game. There’s nothing I can do. I’m happy that I did my job. I think I did my job even though we got the loss.

“I think the way I’ve finished my last month, month and a half, that’s the way I did it in 2015, that I finished it strong. That’s my mindset: Try to finish it strong and whatever I’m doing now, just try to do the same thing in my next season.”

Gsellman was in complete control for most of the day. Freddie Freeman doubled in the first, Ender Inciarte and Johan Camargo collected hits in the third and fourth innings, respectively, but that’s all team had through six. He finished after seven innings and allowed just three hits and an unearned run.

“He was hard to get ahold of, I know that,” Snitker said. “He changes speeds, moves the ball around. ... He’s pretty tough. He doesn’t overthrow, uses both sides of the plate. He did a good job.”

Camargo and Dansby Swanson reached base on consecutive errors by Mets rookie and top prospect Amed Rosario at shortstop. Jace Peterson grounded out allowing Camargo to score the Braves’ lone run. Kurt Suzuki’s pinch-hit at-bat ended with a pop up in foul ground, stranding Swanson.

A.J. Minter pitched the eighth and 1/3 of the ninth for the Braves, striking out three. He became the first Braves pitcher since at least 1913 to not walk a batter in his first 10 appearances. He's also struck out six of the last seven hitters faced.

“It felt good,” Minter said. “I’m excited to get more extended and more chances to face more betters. It felt good tonight.”

Ramirez relieved Minter and allowed a single to Rosario, double to Phil Evans and a pinch-hit homer to Asdrubal Cabrera to put the game out of reach.

Ramirez pitched 1/3 of an inning, allowing four hits and three runs. It was a rare bad outing for a pitcher who’s become one of the Braves’ more trusted bullpen arms.

The loss was Atlanta’s 41st at SunTrust Park, guaranteeing the team won’t have a winning home record in its inaugural season at the stadium. The Braves will host the Nationals and Phillies to wrap up their final week at home.