SAN FRANCISCO – Off the disabled list and back in the middle of the Braves' lineup, Brian McCann says he's thinking only about helping the team win now, not looming free agency or his uncertain future in Atlanta.

Thursday night at San Francisco, he did that. The veteran catcher had a two-run homer in the second inning and an RBI single in the four-run fifth as the Braves defeated the Giants 6-3 to open a four-game series at AT&T Park.

Julio Teheran pitched seven solid innings for the win and Craig Kimbrel gave up a two-out double in the ninth before notching his 100th career save, after blowing two of his past three chances. Kimbrel became the second-youngest pitcher to reach that standard, 100 days older than Francisco Rodriguez had been.

“It felt like 2010 was yesterday, when we were out here in the playoffs,” said Kimbrel, a rookie when the Braves lost to the Giants in a 2010 division series. “It’s gone by really fast. Definitely taking it in a little bit. It’s nice to get this milestone, and just move on. Still got a long season to go. Hopefully I can rack up quite a few more.”

McCann’s home run came in his third game and ninth at-bat since coming off the disabled list, a week shy of the seven-month anniversary of his October shoulder surgery. He was about how good it felt to get the first post-surgery homer out of the way.

“Absolutely,” he said. “I think more importantly, the way Julio pitched tonight was very encouraging. He was working his sinker, four-seamer in there, mixing them up all night, had a good curveball, had a great changeup tonight. I thought he pitched great, and he can build off this for his next one.”

It had been exactly eight months since McCann’s last home run Sept. 9 against the Mets in New York.

“A healthy Mac is a guy who can swing the bat and make a big impact in that lineup,” Gonzalez said. “He makes our lineup a lot better.”

Jordan Schafer and Justin Upton had a pair of triples within a three-batter span to start the fifth inning, when the Braves built a 6-3 lead that Teheran (2-0) was able to protect after a shaky beginning.

It marked the fifth time in Teheran’s six starts that the Braves scored at least six runs, and they’ve won every game the rookie’s pitched this season. Pitching on twice his regular rest after his last start got rained out, Teheran was charged with seven hits and three runs in seven innings, with no walks and three strikeouts.

“Julio did a terrific job, for a guy who hadn’t pitched in about 10 days,” Gonzalez said. “He did a terrific job. After the second inning we asked him, or we made him throw his changeup more often to the left-handers. For me, that’s what got him over the hump, to be able to keep those left-handers off his fastball and off his breaking stuff. And he gave us a great outing, he really did.”

Asked about his recent reluctance to throw his once-vaunted changeup, Teheran said he got away from it after struggling to throw it for strikes, and went to another change-up with a different grip. On Thursday, he reverted to his original change-up.

“I started throwing my old changeup, the one I was using the year before,” he said. “And it worked.”

South Georgia native Buster Posey’s two-out single in the first inning gave the Giants a 1-0 lead, and he added a two-run, two-out homer in the third to put them back ahead 3-2. Posey homered on a full-count slider over the heart of the plate, the ninth pitch of the at-bat.

As he’s done before, Teheran settled down after a wobbly first few innings. He recorded 13 outs in his last 14 batters faced after the Posey homer. Before Thursday, the right-hander allowed a .444 batting average in his first 45 pitches, and a .238 average after the 45th pitch.

“I think every time he missed the glove he got hit, and it wasn’t that many,” McCann said. “You can’t hang a slider to Buster Posey or that’s what he’ll do. And he knows that. But you take the outing as a whole, he was on his game. He made one mistake to Posey, that’s about it. He’s going to build off this and keep getting better and better.”

Having McCann back in the lineup gives the Braves a stabilizing, left-handed presence in the heart of the order. He’s never struck out 100 times in a season and has hit well with runners in scoring position for much of his career, a combination that makes him rather unique in this free-swinging Atlanta lineup.

Activated from the DL on Monday at Cincinnati, McCann went 1-for-8 in his first two games before a rest Wednesday. He didn’t have any problems with the surgically repaired right shoulder, hit some balls hard against the Reds, and came back Thursday to pick up where he left off at one of many road ballparks where he’s thrived.

The former six-time All-Star has three homers and nine RBIs in a 12-game hitting streak against the Giants that goes back to April 23, 2011.

McCann’s first post-surgery homer came against Ryan Vogelsong (0-2), a pitcher who’s given the Braves trouble in the past, but one who has struggled mightily this season. The right-hander had an 8.47 ERA in three home starts before Friday and had allowed six homers in his past three overall starts.

Vogelsong had a season-high seven strikeouts after four innings against the Braves, who struck out three times in the first inning and three in the fourth. But they teed off on him in the fifth, when Schafer led off with his second triple in two days.

Simmons grounded out to score Schafer before Upton followed with a stand-up triple to the right-center gap. He scored on Freddie Freeman’s single to put the Braves back on top, 4-3. This time, they wouldn’t relinquish the lead.

Dan Uggla followed with his second walk of the night, and the Giants brought in lefty Jose MiJares to face McCann. He hit a hard one-hop single that second baseman Marco Scutaro couldn’t handle, and Freeman alertly scored from second on the play.

B.J. Upton at least temporarily halted his season-long slump with a run-scoring single that stretched the lead to 6-3.