Zambrano came off the 15-day disabled list from a shoulder strain with six spotless innings Friday night, leading Chicago to a 2-1 victory over the St. Louis Cardinals in the opener of a three-game series matching the National League's top two teams.
"I think he was throwing harder than he was at the start of the year," catcher Geovany Soto said. "That's why he's the ace of the team. He's huge and he likes big games."
Zambrano also likes pitching against the Cardinals, against whom he's 9-4 with a 2.26 ERA.
"Obviously, he's got our number," Pujols said. "For coming off the DL he was throwing pretty well."
Slumping Kosuke Fukudome homered in the first inning and Soto connected in the fourth to give the Cubs only their third victory in nine games. Both balls came on full-count pitches from Braden Looper, and were the only damage against the right-hander in seven innings.
Pujols became the fifth-youngest player to 300 with an eighth-inning shot off the left-field foul pole against Bob Howry. He's 5-for-9 with two homers against Howry, and made it to the milestone at 28 years, 170 days, beating Hall of Famer Mel Ott by one day. Alex Rodriguez is the youngest to 300 homers at 27 years, 249 days.
"What milestone? It's 300 homers," Pujols said. "I don't play for records, I play to help my team win."
Edmonds' first game in St. Louis as an opposing player dominated pre-game discussions, especially after St. Louis manager Tony La Russa said he'd ignore him rather than applaud or boo. La Russa was miffed about Edmonds' recent comments that he was happy to be with the Cubs and tired of talking about his past, and Edmonds said he ducked him before the game.
"He ran inside," Edmonds said. "That's his choice. He did what he wanted to do and I'm over it."
Edmonds, who got a prolonged ovation before his first at-bat, was 0-for-4 with three strikeouts in 3-year-old Busch Stadium, which he's never liked.
"I haven't struck out three times in a while," Edmonds said. "I couldn't hit here when they built it, and I still can't."
As the game progressed, fans in a sellout crowd of 46,450 were more vocal booing during Zambrano's at-bats. The pitcher singled in the third and is batting .360.
Making his first start since June 18, Zambrano (9-3) allowed four hits and two walks while striking out five. The Cardinals had two men on in the second and sixth, the best shot coming in the sixth with their Nos. 5 and 6 hitters coming up and one out. But Troy Glaus fouled out and Chris Duncan grounded into a force play to end the threat.
Zambrano, who had been 0-2 with a 5.75 ERA in his previous three starts, was pulled three pitches shy of a 90-pitch limit.
"I felt strong enough to throw one or two more innings, but I appreciate the way they took the situation," Zambrano said. "We have a good bullpen and we let the bullpen do the job."
Neil Cotts struck out Rick Ankiel for the last out of the eighth and Kerry Wood, pitching with a riverfront fireworks display as a backdrop, gave up a hit in the ninth before finishing for his 22nd save in 26 chances, and 12th in a row.
Looper (9-6) gave up only four other hits, and one other runner got into scoring position against him. He threw 120 pitches in seven innings.
"Unfortunately, their guy just did a little better," Looper said. "Those two mistakes really hurt me."
Fukudome snapped a 4-for-25 skid with his first homer since June 24. Soto's 14 homers are the most by a Cubs rookie since Rafael Palmeiro also hit 14 in 1987.
Pujols added an infield hit in the sixth after entering in a 3-for-16 slump over the first four games of a seven-game homestand. Aaron Miles was 0-for-4, ending a 15-game hitting streak during which he batted .400.
"You're thinking about getting on anyway you can and this is a big series," Miles said. "It was fun to have a 15-gamer, but turn the page and ready to go at it tomorrow."
Glaus was 0-for-4 with two strikeouts and two foulouts and is 0-for-16 with five strikeouts against Cubs pitching this season. He took a called third strike for the first out of the ninth and complained after the game about home plate umpire Ted Barrett's call. "I'll say it once: I was having a good at-bat and the at-bat was taken out of my hands," Glaus said. La Russa criticized Barrett afterward, saying Barrett missed two pitches on Gluas' at-bat, one pitch on Yadier Molina -- the third hitter of the inning -- and was off on a called first strike to pinch hitter Ryan Ludwick before Ludwick grounded out for the final out. "Those pitches were not consistenly in the zone that he had called all game long, so you've got a complaint," La Russa said. "What I think is happening is they're sitting in there and complaining about Troy Glaus getting upset and Yaddy looking. Check the tape and I think they'll see there was a legitimate gripe.".... Cardinals RHP Chris Carpenter threw a bullpen session Friday and is scheduled to face hitters on Monday in Florida. ... Aramis Ramirez is in an 0-for-22 slump his last six games.