"In baseball, there's certain guys you feel comfortable against," Gonzalez said. "Fortunately for me, he's one of the best pitchers in baseball and he's a guy that I've been successful against."
Russ Ortiz, who signed an eyebrow-raising four-year, $33 million free-agent contract with Arizona, allowed three runs on six hits in five innings to get the victory. He also singled in the go-ahead run in the fifth.
Gonzalez, the lone holdover from Arizona's opening-day lineup a year ago, hit a two-run homer in the first, and a solo shot that tied it at 3 in the fourth.
"He hit one pretty good pitch out, and one halfway decent pitch out," Maddux said. "I don't know what to do. You throw the pitch where you want and he hits it out. You've got to just tip your hat and try something else next time."
Gonzalez has 18 RBI in 95 career at-bats against Maddux.
"Sometimes when a guy has your number, he just has your number," Cubs manager Dusty Baker said. "I'm sure Greg's tried everything. It's two quality players."
Craig Counsell was 3-for-4 with an RBI and a run scored for Arizona.
Brandon Lyon, who missed all of last season because of elbow surgery, didn't allow a run in the final 1 2/3 innings to get the save. With a runner on second, shortstop Royce Clayton made a sliding stop of a grounder up the middle by Neifi Perez for the last out.
"Definitely I had a lot of adrenalin out there tonight," Lyon said. "The first time I've stepped on the mound in a big league game in over a year, so it's exciting. And Royce made a great play to end the game right there, a big play, and hopefully it will set the tone for the rest of the season."
Todd Hollandsworth hit a three-run homer for the Cubs.
Ortiz escaped a jam in the sixth inning when, with runners at first and third and two outs, he ran the count to 3-0 against Derrek Lee, then came back to get him to fly out to center.
"Russ pitched great, and I think that was probably everything he had left in him (on) that last pitch," Arizona manager Bob Melvin said.
Maddux, who turns 39 on April 14, gave up five runs on six hits in five innings to take the loss. He struck out six and walked one intentionally.
"I wasn't pleased with how many runs I gave up, but as far as how I felt and how I threw, I'm OK with that," Maddux said, "other than the fact that we lost. I've thrown worse and given up less, I know that."
After losing their opener 16-6 on Monday, the Diamondbacks took their first lead of the season when Counsell led off the game with a single, stole second and was sacrificed to third. Gonzalez lofted Maddux's 1-0 pitch into the right field seats to make it 2-0.
The lead didn't last long. Hollandsworth lined Ortiz's hanging curve ball off the fence in front of the newly remodeled swimming pool in right field, a three-run shot that put Chicago ahead 3-2.
Gonzalez tied it up with his second home run in the fourth, a leadoff shot just over the right-field fence.
Arizona regained the lead in the fifth when Chad Tracy led off with a single. Chris Snyder hit a high bouncer to shortstop Nomar Garciaparra, who tried to tag Tracy as he slid into second, but the runner was called safe.
Ortiz then singled to right to bring home Tracy, and Counsell's single drove in Snyder for a 5-3 lead.
The Cubs cut the lead to 5-4 in the eighth. Corey Patterson singled, went to third on Todd Walker's double, and scored when Garciaparra grounded out to third.
Lyon, who won the closer's job in spring training, relieved Mike Koplove and struck out Aramis Ramirez, then got Burnitz to bounce out to second to end the inning.
- Ortiz has a streak of 150 consecutive starting assignments. He has never missed a start due to injury.
- Lyon came to Arizona from Boston in the Curt Schilling trade.
- Cubs RHP Mark Prior threw 34 pitches in the bullpen and reported no problems from the sore elbow that sidelined him earlier in spring training. He is to a make minor-league start Thursday and be activated April 12 to pitch against San Diego.