Updated

Freddie Freeman capped a two-run ninth inning with an RBI single as the Atlanta Braves rallied past the San Francisco Giants, 6-5, in the second contest of a three-game series.

Holding a 5-4 lead, the Giants sent Sergio Romo (3-3) to the mound in the bottom of the ninth. Pinch-hitter Evan Gattis walked with one out and Andrelton Simmons reached first on third baseman Joaquin Arias' fielding error before Jason Heyward singled to load the bases. Romo then walked Justin Upton to force in pinch-runner Reed Johnson with the tying run. Freeman followed with the game-winning hit to right.

"That's baseball. You can only control certain things," Romo said. "I went out there and tried my best. It didn't go so well. It's never a good feeling when you let your team down."

B.J. Upton hit a pair of homers and had three RBI while scoring three runs for the Braves, who snapped a four-game skid. Chris Johnson had an RBI.

"It's good to beat these guys," Johnson said. "They've had our number early in the year at their place."

Atlanta starter Mike Minor gave up five runs -- four earned -- on seven hits while striking out seven over six innings. Craig Kimbrel (2-1) tossed a scoreless top of the ninth to pick up the win.

Hunter Pence knocked in two runs for the Giants, who had a brief two-game winning streak snapped. Buster Posey, Tony Abreu and Andres Torres added an RBI apiece.

Chad Gaudin allowed four runs on eight hits over five-plus innings for San Francisco.

B.J. Upton's solo homer in the second gave the Braves a 1-0 lead, but San Francisco responded with three runs in the third.

Brandon Crawford singled, moved to second on a sacrifice bunt and scored on Torres' double to left-center field. Abreu followed with an RBI double down the left-field line, and Posey was intentionally walked before Pence hit an RBI single to right.

The Braves got one run back in the fourth. B.J. Upton reached first on a fielder's choice, stole second and scored on Johnson's base hit.

The Giants tacked on two more runs in the fifth. Torres singled and Abreu reached first on Simmons' fielding error. Posey's RBI double off the wall in center and Pence's sacrifice fly made it 5-2.

B.J. Upton's two-run homer in the sixth cut the gap to one. McCann led off with a double and the older Upton brother followed with a blast to center.

Game Notes

Each team had 11 hits ... Abreu went 3-for-5 with two runs scored ... The series ends Sunday night, with Braves pitcher Julio Teheran facing Tim Lincecum of the Giants.