ATLANTA -- The Atlanta Braves' biggest offseason addition is finally coming up with big hits.
Dan Uggla belted a tiebreaking three-run homer in the seventh inning, Brandon Beachy combined with two relievers on a three-hitter and Atlanta beat Florida 5-0 on Friday night to end the Marlins' five-game winning streak.
Uggla extended his hitting streak to 20 games and leads Atlanta with 19 homers. He entered July with a .176 batting average but is up to .206 after going 1 for 4 against Florida.
"It really felt good," Uggla said. "I tried not to put too much on it other than it put us ahead and put us in position to win."
The Braves remained five games behind NL East-leading Philadelphia, which beat Pittsburgh 10-3 and acquired All-Star right fielder Hunter Pence from Houston.
"They're good. They're making every move you can make to go for it," Uggla said of the Phillies.
"They're a good team, but we are, too, and there are a lot of other good teams that are going to make the playoffs."
Emilio Bonifacio's 26-game hitting streak, the second-longest in Marlins history, came to an end. After two strikeouts, Bonifacio was thrown out trying to bunt his way on, then grounded out to third in the eighth.
Marlins manager Jack McKeon said he thought Bonifacio was thinking about the streak early in the game.
"I talked to him. I said `Hey, start a new streak," McKeon said. "He went up there trying to get that hit that first time. Hey, stay with your game. ... The first time I really felt that he really thought about it."
Beachy (4-2) yielded two hits, walked three and struck out six in 7 1/3 innings. He pitched into the eighth for the first time in his career.
"Outstanding performance," Braves manager Fredi Gonzalez said. "He went up and down the strike zone, down and in.
"He was dominant today."
Jose Constanza, recalled from Triple-A Gwinnett before the game, had a run-scoring single against Dunn in the eighth for his first hit in the major leagues. Constanza scored from third on Freddie Freeman's fly ball to left.
Clay Hensley (1-3) matched Beachy before fading quickly in the seventh. Hensley gave up three runs and five hits in seven innings.
Hensley gave up two hits in the first before retiring 16 straight. The streak ended when Martin Prado, who had three hits, led off the seventh with a single up the middle. Freeman followed with another single to center and Prado made it to third with a headfirst slide.
Uggla connected on an 0-1 pitch from Hensley, raising his right fist in the air as the ball cleared the wall in center.
Constanza replaced Nate McLouth as the leadoff hitter and center fielder after the veteran was placed on the 15-day disabled list with a lower abdominal strain.
Also, third baseman Chipper Jones missed his fourth straight start with a strained right quadriceps.
With two outs in the seventh, Constanza misjudged a fly ball hit by Mike Stanton, drifting back before reversing his direction and charging toward the infield too late to make the catch. Stanton made it to second for a double.
Sanchez returned for Florida after missing three starts with a tight left hamstring.
Uggla's streak is the longest for the Braves since Kelly Johnson hit in 22 straight games from Sept. 1-24, 2008. ... Braves INF Diory Hernandez was designated for assignment to clear a spot on the 40-man roster for Constanza. ... Marlins OF Chris Coghlan, on the 15-day disabled list since June 17 with left knee inflammation, hyperextended his right elbow and is expected to stop his rehab for three to five days. ... Freeman, who had two hits, has a 13-game hitting streak.