MIAMI - Justin Upton is hitting enough for an entire team.
The slugging outfielder went 4 for 4, including his sixth home run, and Paul Maholm allowed one hit in seven innings to help the Atlanta Braves spoil the Miami Marlins' home opener Monday night by winning 2-0.
Upton scored both runs and doubled the Marlins' hit total. The Braves won despite going 0 for 7 with runners in scoring position.
"We've only got about three guys hitting on all cylinders," Atlanta manager Fredi Gonzalez said. "We won today with Justin doing all the damage."
The Braves earned their fourth consecutive victory and improved to 6-1, their best start since 2007. The Marlins lost their third game in a row and fell to 1-6, their worst start since 2006.
Announced attendance was 34,439, with thousands of empty seats and many tickets sold at discounted prices. Some fans pledged to stay away this season because they're angry that owner Jeffrey Loria reverted to a frugal payroll only a year after the team opened a new ballpark built mostly with taxpayer money.
Loria watched the game from his suite, out of the view of potential boo-birds. A handful of spectators wore homemade T-shirts disparaging him, a few others had bags over their heads, and many wore jerseys of Marlins traded in the past year, including Hanley Ramirez, Jose Reyes and Josh Johnson.
Two spectators were ejected by police for creating a disturbance, Marlins president David Samson said, but he praised the crowd support.
"Overall, other than the result, it was a very, very positive night," Samson said.
Upton singled in the first, doubled in the fourth and homered in the sixth. With a chance at the cycle he singled in the eighth, which dropped the Atlanta newcomer's slugging percentage to 1.192 but raised his batting average to .423.
"You definitely notice it," Upton said of his impressive start. "You can't ignore it. You try not to get too high on what's happening."
Upton, who came into the game tied for the major league lead in homers, hit a solo shot for a 2-0 lead against Kevin Slowey (0-2). Atlanta also scored in the fourth when Upton doubled, went to third on a flyout and came home on Dan Uggla's groundout.
"I told Justin to just keep doing it when I pitch," Maholm said. "He's obviously one of the top players in the league. It's fun to watch, and not having to face him, it's a lot better."
The lone holdover in the lineup from the Marlins' opener a year ago was Giancarlo Stanton, who went 0 for 1 with three walks to drop his average to .174. The team's newcomers couldn't do much against Maholm (2-0), who remained unscored upon this season in 12 2-3 innings over two starts.
"I'm going to ride this as long as possible," the left-hander said. "I was just trying to get ahead, mix up the pitches, let them put it in play and let the guys make some plays."
Maholm struck out seven and gave up three walks, including two to Stanton, last year's NL slugging leader.
"I wasn't technically going right at him," Maholm said. "If he wanted to swing at one of my pitches, great. But I wasn't going to give him a cookie to hit and let him do damage. I was just trying to get him to fish and not make good contact."
Craig Kimbrel needed 28 pitches to get through the ninth. He struck out Adeiny Hechavarria with two on to complete the two-hitter for his third save.
Atlanta struck out only six times, an improvement, but slumping B.J. Upton went 0 for 5 and Jason Heyward was 0 for 4. B.J. Upton is batting .120 and Heyward .083.
The Braves, who lead the NL East, started a stretch that includes 16 of 18 games on the road.
Slowey, who was seeking his first victory since 2010, allowed two runs in seven innings. Marlins starters are 1-4 despite an ERA of 2.50.
The Marlins went 0 for 3 with runners in scoring position and are batting .170 in those situations. The lone hit off Maholm was a single by Placido Polanco in the third inning.
"When you don't score, it puts a lot of pressure on the pitching," Marlins manager Mike Redmond said. "We can't panic. It's going to turn. It always does."
NOTES: Braves SS Andrelton Simmons returned to the lineup after missing two games with a sprained right thumb. ... For the first pitch, former Marlin Jeff Conine threw the ball from his old left field position to ex-teammate Mike Lowell, who relayed it from third base to the plate. ... The retractable roof was open after being closed for all but eight games last season. ... The Braves went 14-4 against Miami last year.