Matt Harvey had trouble finding the plate early in his home debut. Once he did, it was too late to catch up to the steady Paul Maholm.

Harvey walked five in the first three innings and allowed a two-run homer to Jason Heyward, and the New York Mets managed just three hits in a 4-0 loss to the Atlanta Braves on Friday night.

"I did everything I could to figure it out as fast as possible, and I was able to keep the team close. Walking people is not what I want to do," Harvey said. "I was glad I was able to figure it out."

Maholm (10-7), rarely surpassing 88 mph, pitched a three-hitter in his second start for Atlanta, a sharp contrast to the hard-throwing Harvey.

Braves catcher David Ross was impressed by Harvey (1-3) but saw a clear distinction between the 23-year-old rookie and Maholm, in his eighth big league season.

"Great stuff but he's got to learn how to pitch," Ross said. "Maholm, throwing 87 there, he knew how to pitch from the get-go."

Heyward connected in the first inning and Dan Uggla went deep in the eighth for a two-run shot off reliever Josh Edgin for his first homer in more than a month as Atlanta won for the 13th time in 16 games.

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 New York premiere.

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 also 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 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."

Harvey left for a pinch-hitter in the sixth. The 23-year-old right-hander walked five and struck out three. He gave up just two hits.

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.

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 at Citi Field, including three starts, 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.

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.

NOTES: 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. ... 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.