"That was a lot of fun. That was a catcher's dream right there," said Ross, who was playing because Brian McCann was out with a sore shoulder.
Heyward connected in the first inning to help spoil Matt Harvey's home debut with the Mets. Uggla went deep in the eighth off reliever Josh Edgin for his first homer in more than a month as Atlanta won for the 13th time in 16 games.
|More on Braves-Mets|
|More MLB coverage|
The Braves played their first in a stretch of 20 straight games, this one without Chipper Jones. The All-Star third baseman said he was out with back tightness caused by the bed in his New York hotel room.
Harvey (1-3) gave up just two hits in his fourth major-league start but it took four innings before Mets fans got a glimpse of the pitcher who struck out 11 in his scoreless debut at Arizona on July 26.
"I was very impressed at how he settled down. He settled down and started making pitches. He got himself into a nice easy groove," Mets manager Terry Collins said. "He has all the talent he needs to compete here. All he needs to do is make pitches."
Maholm (10-7) was brilliant from the start at a ballpark in which he has struggled. Coming in 0-2 with an 8.80 ERA in four games, three starts, at Citi Field, he faced the minimum through five innings.
"It was a masterful performance," Braves manager Fredi Gonzalez said.
Acquired from the Cubs on July 30, Maholm pitched well enough to win his Atlanta debut a week ago, giving up three runs and six hits in seven innings. But he lost 3-2 to Houston, snapping a five-game winning streak.
He got back on track Friday. After Ruben Tejada reached on Maholm's error in the first, David Wright grounded into a double play. When Daniel Murphy singled to center field, Ronny Cedeno ended the second inning with a double-play ball to shortstop.
Maholm retired 11 in a row before Rob Johnson's double in the sixth with one out. He got out of that jam by inducing two groundouts, the second a difficult play for shortstop Paul Janish. Andres Torres' broken bat rolled along the ground right next to the ball, but Janish scooped up the grounder and avoided the shard.
"Anytime they got someone on base I executed pitches," Maholm said," and the defense made plays."
The shutout was the fourth of his career and first since May 28, 2011, for the Pirates against the Cubs.
Maholm struck out five and walked none in his sixth career complete game. He threw 95 pitches -- 64 strikes.
The Mets were coming off a 6-1 win against the Marlins to snap a nine-game losing skid at home and were excited for Harvey's first start at Citi Field.
With about 100 friends and family among the 25,101 in the stands, Harvey threw a 93 mph strike to Michael Bourn on his first pitch. Things did not go so well after that. After a groundout, Heyward homered to right field on the first pitch, a 94 mph fastball. It was Heyward's 19th homer and first since he turned 23 on Thursday
Harvey needed 33 pitches to get out of the first and 52 in the first two innings. He walked five through three innings and had a close call in the third when Freddie Freeman's grounder up the middle hit off his thigh.
But then he turned it around, showing flashes of the potential that made him a top prospect. The Mets' first pick in the 2010 draft - seventh overall - out of North Carolina retired nine straight after Ross doubled leading off the fourth.
"I did everything I could to figure it out as fast as possible, and I was able to keep the team close," Harvey said. "Walking people is not what I want to do. I was glad I was able to figure it out."
Harvey left for a pinch-hitter in the sixth. The 23-year-old right-hander walked five and struck out three.
Uggla's homer off Edgin ended the left-hander's scoreless streak at 10 1/3 innings. Freeman hit a bloop single with one out before Uggla sent a drive to left-center for his 13th homer and first since July 8.
- McCann had a cortisone shot in his right shoulder Tuesday and did not play Wednesday.
- The Mets signed right-hander Drew Carpenter to a minor league contract and assigned him to Double-A Binghamton. He made six relief appearances for Toronto this season and had a 5.00 ERA without a decision in nine games. Carpenter was designated for assignment by the Blue Jays and elected to become a free agent.
- Braves minor leaguer Darrel Leiva was suspended for 50 games after testing positive for steroids. Leiva pitches for the Dominican Summer League Braves.
- MLB made a scoring change in the Braves' game on July 31 against Miami. Freeman was given an RBI on a single to left field in the eighth inning when MLB executive vice president Joe Torre took away an error from left fielder Greg Dobbs. Originally, Dobbs was given an error when he blocked the one-hopper with his body and a run scored.