Updated

Justin Upton went 3-for-5 with two doubles, a home run and two RBI while Julio Teheran pitched into the eighth inning to carry the Atlanta Braves past the Miami Marlins, 6-4, at Marlins Park.

Teheran (7-4) allowed seven hits and four runs, though only one was earned, over 7 1/3 innings to earn the victory.

Brian McCann knocked in a pair of runs for Atlanta, which had lost four of five before surviving Monday's opener of this three-game series, 7-1, in 14 innings.

Rob Brantly belted a three-run homer in the loss, Miami's fifth straight after taking two of three in Atlanta last week.

Henderson Alvarez (0-1) surrendered eight hits and five runs in his six-inning start. One of the runs was unearned, but the error belonged to Alvarez.

"He really had to work out there," Marlins manager Mike Redmond said of his starter.

Freddie Freeman, who was leading the All-Star Game Final Vote for the NL as of Tuesday night, doubled and scored on B.J. Upton's sacrifice fly in the second inning to get the Braves on the board.

The Marlins countered with three runs on one swing of the bat in the bottom half as Brantly turned on a high fastball and smacked it off the right-field foul pole for his first home run of the season. All three runs were unearned because Marcell Ozuna reached on an error prior to the two-out blast.

Justin Upton, who drove in three runs on Monday, doubled home Jason Heyward in Atlanta's next at-bat and scored the tying run on a McCann sac fly.

Miami answered via Logan Morrison's RBI single in the home half, but it was the last time the hosts held the lead.

Another Justin Upton two-bagger in the fifth preceded McCann's game-tying single, and the Braves jumped ahead an inning later courtesy of Alvarez's error. With B.J. Upton on second, Teheran hit a slow roller that landed between home plate and third base. Alvarez fielded the ball, and his off- balanced sidearm throw was well off the mark, allowing the go-ahead run to come around.

A no-doubt leadoff shot by Justin Upton off Ryan Webb in the seventh gave the Braves a 6-4 lead. It was Upton's 16th home run of the season but first since June 12.

"It's nice to swing the bat well tonight," said the younger Upton.

Jordan Walden recorded the final two outs in the eighth behind Teheran, and Craig Kimbrel, Atlanta's only All-Star selection, hurled a 1-2-3 ninth to post his 24th save.

Game Notes

Atlanta owns a 12-2 record at Marlins Park, which includes a perfect 5-0 mark this year ... Alvarez was making his second start of the season. His first also came against Teheran last Thursday, and neither pitcher factored in the decision ... Ozuna recorded his eighth assist of the season when he threw out Chris Johnson at home from center field to end the fourth inning.