Gonzalez (2-1, 3.19 ERA) last pitched May 27 before being shut down because of what manager Craig Counsell called a "dead arm."
He made two rehab starts, including throwing 68 pitches at Triple-A San Antonio on Monday.
"It was just to see how I felt in my shoulder, and it was positive," Gonzalez said on MLB.com. "The next day I felt fine throwing catch, just continued to do the same routines I've been doing, stretching as much as I can with the training staff and continued my workouts with the strength coaches."
His return to the rotation pushes Adrian Hauser to the bullpen. The right-hander has started six games this season but has pitched much better as a reliever, posting a 1.05 ERA in 25 2/3 innings.
"We're getting a good pitcher back in Gio to cover innings every five days," Counsell told reporters. "That's why it makes us better, really. He has pitched really well for us, and getting a left-hander back complements our staff."
Gonzalez, 33, pitched well for the Brewers last season after being acquired in an Aug. 31 trade. The team brought him back in late April on a one-year, $2 million contract after he was released from his minor league contract with the New York Yankees.
He is 3-1 with a 2.93 ERA in eight career starts against Arizona.
Gonzalez will go against Diamondbacks ace Zack Greinke (10-4, 2.95) in the third game of a four-game series between teams battling for position in the National League wild-card race. Arizona won 10-7 on Friday night.
"We're feeling good. We're playing well," Arizona's Ketel Marte said in the locker room, via an interpreter. "We want to see (outfielder David) Peralta and others back to be at full strength, but we feel good and we feel we have what it takes to make the playoffs."
Greinke, who skipped the All-Star Game due to personal reasons, struggled in his first start of the second half, allowing five runs on eight hits in six innings in a 5-2 loss at the St. Louis Cardinals on Sunday.
Greinke has eight career appearances (seven starts) against Milwaukee, going 1-4 with a 4.07 ERA.
Arizona has scored 39 runs in its past four games, and there are plenty of hot hitters in this series, including Milwaukee's Christian Yelich, who hit his major-league-leading 35th home run Friday night. He has a nine-game hitting streak, and has smacked four homers in his past six games.
Brewers rookie second baseman Keston Hiura also has a nine-game hitting streak, during which he is batting .514 (18 for 35) with 10 extra base hits.
Marte leads the NL in hits (120) and is hitting .362 this month. The 25-year-old first-time All-Star set a career high with his 60th RBI of the season Friday night.
Counsell had to use four relievers to cover 5 2/3 innings Friday night after the D-backs roughed up starter Jhoulys Chacin. Counsell said his bullpen should be OK for Saturday, even though Gonzalez isn't likely to go deep into the game coming off his injury.
"With Adrian down there, we have quite a bit of length," Counsell said. "We're in good shape."
--Field Level Media