CINCINNATI -- Carlos Zambrano says his latest run is the best one of his career. He's having a pretty good time at the plate, too.
"I think this is the best stretch I've ever had," said Zambrano, who has won four straight and seven of his last eight. "I feel confident and comfortable. I've been hitting my spots and throwing more strikes. My arm slot feels good."
Derrek Lee homered for the third time in four days for Chicago, which finished off a 4-2 road trip and moved within a half-game of NL Central-leading Milwaukee -- the Cubs' smallest deficit since opening day. Alfonso Soriano also had two hits and scored a run.
Brandon Phillips' first-inning single up the middle and Javier Valentin's seventh-inning bloop single to center were the only hits allowed by Zambrano in 7 1/3 innings. The right-hander struck out six and walked three.
"He's a special pitcher," Cincinnati manager Pete Mackanin said. "Everything was working for him today. You can see why he's got the record he's got. He's a solid pitcher, and what he'd have? Three hits? He wanted to steal a base, but we held him down there."
Zambrano (14-7) tied a career high with three hits and stayed in after Ryan Freel lined a pitch off his right ankle in the sixth. The ball caromed to third baseman Aramis Ramirez, who threw Freel out.
"What can I say?" Freel said. "That's baseball. He had a good cutter today. He kept us off balance. He could throw any pitch at any time."
Zambrano left the game with cramps in his right calf after striking out pinch-hitter Norris Hopper leading off the eighth inning.
"Any time I can do anything -- hitting, running the bases, kicking the ball -- I've got to use my God-given ability," Zambrano said.
Cubs manager Lou Piniella wasn't that enthralled with his hitting.
"The story of the game was his pitching, not his hitting," Piniella said. "Forget his hitting."
Lee's two-run homer off Matt Belisle in the seventh inning gave Chicago a 4-0 lead. The homer was his second in less than 24 hours and 11th of the season, and it drove Belisle from the game.
Belisle (5-8) hasn't won in 10 starts over two months since beating the Astros at Houston on May 29. He gave up four runs and nine hits, struck out four and walked one.
"It was definitely better," Belisle said. "I threw a lot more quality off-speed pitches in fastball counts, but I gave up a bad mistake to the wrong guy."
The Cubs jumped out to a 2-0 lead in the first inning. Ryan Theriot singled and Lee was hit by a pitch with one out. Theriot scored and Lee went to third on Ramirez's double to right-center field. Mark DeRosa drove in Lee with a sacrifice fly.
- Zambrano also had three hits on July 20, 2003, at Florida. He has four hits in his last six at-bats.
- Reds 3B Edwin Encarnacion batted eighth for the first time in 82 starts this season.
- The game was Cincinnati's 18th in 18 days since the All-Star break, the team's longest stretch of consecutive games this season.
- Cincinnati LF Adam Dunn is 0-for-12 since his 12-game hitting streak was snapped on Friday.
- Reds SS Jeff Keppinger's hitting streak was snapped at a career-high eight games.
- The Reds have scored one run in their last 18 innings.