MIAMI -- Paul Maholm knows his Atlanta Braves teammate Justin Upton can't stay this hot forever. But ...
"I told him to just make sure to keep doing it when I pitch," Maholm said as reporters laughed.
That plan certainly worked Monday night as the Atlanta Braves spoiled the Miami Marlins' home opener, taking a 2-0 win at Marlins Park.
The Braves, leading the NL East, improved to 6-1 by dominating the division's last-place team. Maholm and two relievers held Miami to two hits, and Upton went 4-for-4.
There were 34,439 spectators in attendance, although the crowd counts are expected to shrink rapidly for the Marlins (1-6) and their disillusioned fan base.
Upton, who raised his average to .423, hit two singles, a double and a homer, scoring both of the Braves' runs. It was the seventh game of his career in which he has had at least four hits.
He also made a stellar over-the-shoulder grab with a runner on in the ninth.
"(The ball) carried real well," Upton said. "Not playing here and with the lights and big backdrop, I couldn't really read it well. But I got the job done."
Marlins manager Mike Redmond said that was a big play -- but not just the part about Upton's catch.
"Ruggiano just missed that ball," Redmond said. "Otherwise, it would have been (a tie score and) an exciting finish."
Meanwhile, Upton is already starting to justify Atlanta's move to acquire him in the offseason from the Arizona Diamondbacks. But he said that is not his main concern.
"I'm just going out and having fun playing baseball," Upton said. "Whether I get a hit or not, I'm enjoying myself."
Maholm, who was the Pirates' first-round pick in 2003, was acquired from the Cubs last summer for two pitching prospects. His career ERA was 4.24 entering Monday night, but he has been solid for Atlanta (6-1).
He had a 3.54 ERA for Atlanta last season and has been really good this year. His ERA is 0.00 after 12 2/3 innings.
On Monday, he tossed seven shutout innings and retired all three batters faced in four of those frames. Maholm (2-0) allowed one hit, three walks and threw an efficient 98 pitches.
He mixed things up, offering up a first-pitch strike to only 12 of the 26 batters he faced -- but it worked. He also finished strong, retiring the last seven Marlins he encountered.
"He kept them off balance with two different types of curveballs," Braves manager Freddi Gonzalez said. "He had a hard curve, and then he took a little off. He threw the breaking ball behind in the count or ahead of the hitters."
Eric O'Flaherty pitched a perfect eighth inning for Atlanta. Craig Kimbrel pitched the ninth and earned his third save, although he walked Giancarlo Stanton to open the inning, then exhaled when Upton caught Justin Ruggiano's drive to left. Rob Brantly followed with a two-out single, but Adeiny Hechavarria struck out to end the game.
When a reporter asked Gonzalez about Kimbrel falling behind in the count -- he has a 0.00 ERA this season with three saves already -- Gonzalez used sarcasm as a weapon.
"I think we have to go out and shoot him," Gonzalez joked in reference to Kimbrel. "The guy gets off a little bit, and we're thinking something crazy.
"He's only pitched two games in the last four or five nights. Maybe he's a guy who needs more work. But he's fine."
Marlins starter Kevin Slowey (0-2) was pretty good Monday night, except that he couldn't get Upton out. Slowey allowed two runs on six hits in seven innings.
Upton led off the fourth inning with a double to the right-field corner, advanced to third on a long fly out by Evan Gattis and scored the game's first run on Dan Uggla's grounder to shortstop. The Marlins were playing their infield back, and Uggla hit a 1-2 pitch to earn his third RBI of the season.
Two innings later, Upton slugged a solo homer deep to left field, his sixth of the season. Last year, it took him 69 games to hit six homers.
"He's a fantastic hitter," Slowey said of Upton. "He got a pitch he could handle, and he handled it."
NOTES: Chris Johnson, who had been part of the Braves' platoon at third with Juan Francisco, is the team's new first baseman -- for the moment, at least. Johnson, who played only six games at first last season, takes over for Freddie Freeman, who was placed on the disabled list Sunday due to an oblique injury. ... Marlins rookie Jose Fernandez, who made a brilliant major league debut Sunday, has a chance to become the fourth pitcher since 1970 to make the jump from Class A and pitch 100 innings in his rookie season.