Zambrano has been on the disabled list since June 19 because of a strained right shoulder, and Sunday was the first time he has thrown off the mound since his most recent start on June 18.
"The big test was today, and I threw 100 percent," he said.
The next step will be a bullpen session Tuesday in San Francisco, and then he will be activated.
"I'm happy with the way I feel today, and the way my sinker was running today," Zambrano said. "Believe me, it's a long time since I've seen my sinker go like that and my slider. I was almost going to come in here and tell [general manager] Jim Hendry I want to pitch this game today. I can't because I have to wait for the 15 days."
Sunday would've been Zambrano's turn in the rotation, but lefty Sean Marshall made the start in the Interleague series finale against the White Sox.
During Zambrano's bullpen session he threw 100 percent, and bullpen catcher Edgar Tovar called pitches as if it were a game. He warmed up, then threw three sessions of 20 pitches each, resting between each. When he returns, will Zambrano be limited as far as his pitch count is concerned?
"I will have a pitch limit of 120," Zambrano said, laughing.
The right-hander, who is 8-3 with a 3.13 ERA in 16 starts, said he was relieved at how well he felt.
"I'll be able to take a little rest and rest my arm, and now we can go seven more years before I go on the DL again," he said. "I will work hard to make sure it doesn't happen again."
The Cubs have maintained their first-place status in the National League Central even without their ace.
"We're lucky we're still in first place, and we want to maintain that," Zambrano said. "Any team -- the Yankees, the Red Sox, the best team in baseball -- they can struggle. It happens in the season. You have to worry about keeping yourself in first place and playing good ball and go from there."