After a week with very little to feel good about, the Braves doubled down on satisfaction Tuesday: They snapped a seven-game losing streak and got a resounding performance from a veteran pitcher in his first start since Tommy John surgery.

Gavin Floyd pitched seven strong innings and Chris Johnson’s RBI single in the eighth lifted the Braves to a 2-1 win against the Cardinals at Turner Field, snapping the team’s longest skid since an eight-game streak in May 2012.

“I didn’t expect that,” Braves manager Fredi Gonzalez said of Floyd’s performance. “I expected a guy that was going to scuffle through five, six innings first time out. Hadn’t been in competition for a year, coming through all that stuff. But he sure passed with flying colors. You couldn’t ask for anything more.”

A day shy of the one-year anniversary of surgery for a torn ulnar collateral ligament and torn flexor tendon in his pitching elbow, Floyd turned in the kind of start the Braves have gotten used to this season, allowing one run, six hits and two walks with five strikeouts in seven innings. Craig Kimbrel pitched a perfect ninth inning with two strikeouts for his ninth save.

Unfortunately for Floyd, pitching well enough to win but getting little run support is something else Braves starters have gotten used to, especially lately. But there were only smiles after the 31-year-old right-hander threw 66 strikes in 104 healthy pitches.

“Just thankful for this opportunity,” Floyd said. “It felt good. A lot of emotions, a lot of excitement this whole process, leading up to it and then getting back out there. Knowing that I feel healthy and then to have a chance to get back out there and not only start for the first time but try to get us back on the winning side and try to keep us in the game. It was a big win for us today and hopefully we can continue to get after it tomorrow.”

The Braves will send Mike Minor to the mound against Cardinals ace Adam Wainwright in Wednesday night’s rubber game and series finale.

With the score 1-1 in the eighth inning, the Braves got consecutive one-out singles from Justin Upton and Freddie Freeman, the latter a screaming liner off the leg of left-handed reliever Randy Choate. Side-armer Pat Neshek entered to face Johnson, who has struggled mightily.

He used an inside-out swing for an opposite-field single to right that proved to be the game-winning RBI.

“It felt good,” said Johnson, who had been 2-for-19 with runners in scoring position. “It was a grind, I tell you that. It wasn’t easy. The guy (Neshek) is funky, he’s nasty. Anybody who’s watched me lately knows that that was just a battle between me and him and me trying to get something in play.

“I was able to finally stay on the ball and kind of go the other way a little bit, which was nice.”

Justin Upton’s 457-foot home run in the fourth inning was the first hit for the Braves and gave them a lead. It also gave Floyd a chance to catch his breath and relax at least a little.

He said he was nervous early, being back in a major league game for the first time in a year, but you couldn’t know it form watching him throw 91-94 mph fastballs, 83-87 mph cutters and several curveballs, with command that improved as the night wore on. He said it ranked among his biggest games.

“My debut was probably my top, and there were probably a couple of other ones,” said Floyd, who had double-digit wins five consecutive seasons before making only five starts in 2013. “But this is up there. Just to be able to have a chance to play baseball again and throw again and be healthy, definitely will rank up near the top.”

The Cardinals tied the score on Matt Holliday’s RBI single in the sixth inning, and the Braves wasted scoring opportunities in the fifth, sixth and seventh innings in what’s become a familiar refrain.

Cardinals lefty Tyler Lyons came in with a 2-6 record and 5.34 ERA in 10 career starts, and held the Braves to three hits and one run in six innings, with one walk and seven strikeouts.

After B.J. Upton’s seventh-inning leadoff double against reliever Seth Maness, the Braves went down in order with Dan Uggla grounding out and getting booed, Floyd striking out, and Andrelton Simmons grounding out while hitting ninth (Gonzalez batted the pitcher eighth for the second consecutive game).

Simmons also struck out with two on to end the fifth inning, one of three strikeouts in the inning.

Simmons’ last outs with in the fifth and seventh innings and Laird’s strikeouts with two on to end the sixth and eighth innings lowered the Braves’ major league-worst average with runners in scoring position and two outs to .118 (13-for-111), including 8-for-101 (.079) by players other than Freddie Freeman.

After Johnson’s go-ahead single in the eighth, the Braves had a chance to do more damage with runners on the corners and one out. But Laird missed a bunt attempt and Freeman was hung out to dry in a rundown between third and home.

But in the end, Floyd’s performance and the Braves’ first win in more than a week overshadowed RISP frustrations and anything else negative. The clubhouse was upbeat and teammates lauded the work of Floyd.

“It was amazing,” Johnson said. “I’m so happy for him. I can’t imagine how tough it is to come back from a surgery like that and to kind of prove to yourself that you can still be out on a big-league mound. And he did that and more.”

The veteran battery of Floyd and Laird appeared to be in sync from the first pitch. Laird didn’t seem as surprised by the performance as some others.

“He looked pretty sharp in the bullpen,” Laird said. “Before the game you could tell he was a little amped up early on, but then as his warmup pitches went on he seemed to get more comfortable. And I just tried to make it as smooth as I could the first inning, just kind of stay with his fastball, try to get some outs early with some command pitches that he has good command, so he could settle down. And he did a heck of a job.”

Floyd had to be activated Sunday after using up the maximum 30 days on his injury-rehab start. With Ervin Santana nursing a bruised thumb, the Braves plugged Floyd into Santana’s turn in the rotation for one start.

Gonzalez faces a decision on what to do with Floyd, whom most had assumed would go to the bullpen for the time being and be available as a spot (sixth) starter. But after the way he pitched Tuesday, the situation might be more complicated.

“He competed his butt off,” Gonzalez said. “I can’t wait till five, six days down the road, watch him go out there again.”

The manager wouldn’t elaborate and said pitching plans would be made later.

Upton’s ninth homer of the season was one of his most impressive.

“He crushed that,” Johnson said. “Man, that ball was way out of here. That was nice. It was also good for Gavin, getting a little breather and getting a lead.”

ESPN’s Home Run Tracker measured Tuesday’s drive at 457 feet, tied for ninth-longest in the majors this season. It was 20 feet shorter than one that Upton hit April 10, the third-longest. But this latest drive was a liner to left-center that sailed out further towards center field than that earlier, towering homer.

The Braves improved top 11-0 in which they had scored first, and 15-4 when they hit at least one home run, compared to 3-10 when they don’t.

Upton struck out four times Monday, including with two runners on to end the 4-3 loss. He snapped an 0-for-12 streak when he connected squarely with Lyons’ 0-1 changeup and drove it almost to the walkway separating the lower tier of seats from the second tier in the left-center bleachers. Seven of his nine homers have come at Turner Field.