For a 30-year-old rookie prone to timely hits, Adonis Garcia is making his new teammates glad to have him aboard.
''He's done that off some pretty good guys, guys who've had success at this level,'' Braves catcher A.J. Pierzynski said. ''It's fun to see guys with not as much experience to come up here and have some success.''
Garcia hit a two-run homer in the 12th inning off Ryan Vogelsong and the Atlanta Braves completed their final comeback of the game, beating the San Francisco Giants 9-8 Monday night.
More from FoxSports
Brandon Crawford hit two home runs, helping the Giants take a 6-0 lead. The Braves rallied with four runs in the sixth against Matt Cain, then Pierzynski hit a two-run homer with two outs in the ninth off Santiago Casilla to tie it at 7.
Buster Posey homered early and hit a go-ahead single in the Giants 12th.
Jace Peterson led off the Braves 12th by reaching on a throwing error by shortstop Crawford. Vogelsong (7-7), trying to earn the first save of his 11-season career, fell behind in the count and Garcia homered over the center-field wall.
''To get out to a big lead and let it go to waste and then to battle back in extras and still end up losing, it's definitely disappointing,'' Crawford said. ''We just weren't putting together the same at-bats we were earlier in the game. Give credit to their bullpen, I guess.''
Garcia made his major-league debut this season and has three home runs in 11 games. Both teams hit four homers.
Arodys Vizcaino (2-0) recorded the final two outs for the victory.
''Just to continue to battle and then go down again in the 12th -- it's fun,'' Pierzynski said. ''It's what this game is all about. Keep fighting. You never know what can happen.''
The Giants have lost two in a row for the first time since stopping a seven-game skid in early July.
Peterson and Chris Johnson homered for the Braves and Pierzynski had four hits. Brandon Belt homered for the Giants.
''To be down 6-0, it speaks highly of this team,'' Peterson said. ''I think tonight we kind of showed that. Hopefully we can keep it going.''
Making his sixth start since returning from season-ending elbow surgery last year, Cain allowed 10 hits and four runs in five-plus innings.
Johnson, who replaced Freddie Freeman before the start of the fifth, homered off Hunter Strickland to make it 6-5 in the seventh. Freeman left with a strained right oblique, and the team listed him as day to day.
Nori Aoki's RBI single in the ninth off Andrew McKirahan gave San Francisco a 7-5 lead.
Braves starter Mike Foltynewicz allowed all four homers. Crawford has two multihomer games in his career, both against the Braves.
Giants: 2B Joe Panik will return Tuesday to San Francisco for an MRI on his lower back. The team put him on the 15-day disabled list before the game. Panik has struggled for the last week with the injury. ... Manager Bruce Bochy changed the lineup an hour before the game, scratching CF Angel Pagan with right knee soreness. Gregor Blanco took his place. Pagan flied out as a pinch hitter in the seventh.
Braves: SS Andrelton Simmons, sidelined for the second straight game by an injured right thumb, had an MRI earlier in the day, but manager Fredi Gonzalez said before the game that he results weren't immediately available. Daniel Castro replaced Simmons, a two-time Gold Glove winner, and went 1 for 5.
Giants: RHP Jake Peavy (2-4) is 3-4 with a 3.79 ERA in nine career starts against Atlanta. Since returning July 3 from back and hip pain, Peavy is 2-2 with a 3.12 ERA in five starts.
Braves: RHP Shelby Miller (5-8) seeks his first victory since May 17. He has lost six straight decisions and is 0-7 despite a 3.19 ERA in his last 13 starts.