"He's going to be a good pitcher for a long time," Green said of Gonzalez. "He's not afraid to challenge guys. He's very poised for a guy who just came up."
Tracy broke a 2-all tie by hitting the first pitch of the sixth inning off the right-field foul pole for his 10th homer. Green also had an RBI single off John Smoltz (4-3) in the sixth to make it 4-2.
Gonzalez (1-0) allowed two runs, four hits and one walk in six innings in his second major-league start. He struck out eight for the NL West-leading Diamondbacks, who have won two straight and 12 of 17.
"They need me because I throw a good ball," Gonzalez said. "They tell me to pitch good and come back."
The right-hander had a no-decision in his first start despite giving up just one run in six innings against the Cincinnati Reds.
"He's certainly proven he can pitch here," Arizona manager Bob Melvin said. "For an organization that's position-player rich, he's going to be a cog in this rotation for a long time."
In the short term, however, Melvin needs another left-hander in his bullpen, which led to the activation of 43-year-old Terry Mulholland before the second game.
"It can't hurt to have another arm down there," Melvin said. "We have a game tonight, a day game tomorrow and then we don't have a day off for the next eight days."
Jorge Julio pitched a perfect ninth for his third save in three chances.
Rain postponed the game Friday night, causing the teams to play twice on Saturday. The start of the second game was set for 7:05 p.m. ET.
Smoltz allowed four runs and eight hits in seven innings for Atlanta, which fell to 1-4 on its 10-game homestand. The right-hander struck out 10 and didn't walk a batter but trailed 2-0 after Luis Gonzalez's RBI double in the first and Hudson's second homer, a solo shot, in the second.
"The ball just spun over the middle of the plate," Smoltz said. "With the wind blowing that way, anything up in the air that way was gone, and we didn't get to use it. We didn't elevate any balls over there. It's a credit to their pitcher."
The Braves won 13-12 at Chicago on Sunday even though Smoltz allowed season highs in hits (10), runs (eight) and earned runs (six) in the no-decision.
Atlanta fell to 6-6 in games started by Smoltz, who is now 2-2 with a 3.46 ERA and three saves in 12 career appearances (five starts) against Arizona. His last win over the Diamondbacks came on June 18, 1999.
Marcus Giles' two-run single tied it at 2 with two outs in the second.
"We should have put some runs up," said Jeff Francoeur, who went 1-for-4 for Atlanta. "We lost it today hitting. We're scoring runs, but we're not scoring enough. We're scoring when we're behind, we're not scoring to put us ahead early and give us some confidence. That's hurting."
Braves manager Bobby Cox was ejected for the fifth time this season when home plate umpire Dana DeMuth tossed him for arguing balls and strikes during Chipper Jones' first-inning at-bat. Jones struck out looking, but Edgar Renteria made it to second on shortstop Craig Counsell's fielding error. The official scoring was "caught stealing, E-6" even though Renteria was safe. ... According to the Braves, Cox has 121 career ejections to rank third on baseball's career list. ... Enrique Gonzalez loaded the bases in the first after hitting Todd Pratt in the forearm. ... Luis Gonzalez entered with a .197 career average (14-for-71) against Smoltz. ... Hudson had just two hits in his previous 18 at-bats and had a .231 average overall before his homer.