ST. LOUIS -- After a winless drought that lasted nearly the entire summer, Glendon Rusch was at his best.
"Yeah, it was a long time," Rusch said. "It's been frustrating for me since I've been back in the rotation. It doesn't bother anybody more than me, so it's nice to get back on track."
Derrek Lee hit his 40th homer on his 30th birthday and drove in two runs for the Cubs, who knocked out Matt Morris in the fifth and have won four of five. Corey Patterson also homered for the Cubs, who are 7-4 against the NL-leading Cardinals, but 60-67 against the rest of the league.
"You can't put your finger on it," manager Dusty Baker said. "The last couple of years we've played them tough. That's not the team you want to play every day."
Leading off the seventh, David Eckstein singled up the middle to break up Rusch's perfect game. The Cardinals are 42-19 overall against the NL Central.
On videotape, the Cardinals saw a Rusch that got a lot of pitches up in the zone. Not this time.
"His location was unbelievable," Eckstein said. "He didn't make a mistake."
Rusch (6-8) won for the first time since throwing a four-hit shutout against San Diego on June 2, a stretch of 24 straight appearances, including relief, without a victory. He had a 7.75 ERA in 25 appearances since then, and that slump included six losses in eight starts.
Cubs fielders had only two difficult plays in the first six innings. Lee dived to his right to snare So Taguchi's liner to end the fifth, and left fielder Jerry Hairston Jr. bumped Patterson in center while catching pinch hitter John Gall's fly ball to end the sixth.
Rusch gave up two runs on four hits in 7 2/3 innings, and finished with three strikeouts and one walk, tiring at the end of his stint. With two outs, Abraham Nunez singled off Rusch's leg, Hector Luna hit an RBI double and John Gall added a run-scoring single.
Morris entered this season 11-3 against the Cubs, but this year he's 0-3 with an 8.04 ERA in three starts. Pitching on five days' rest, he was in trouble from the beginning, allowing a double off the left-field wall to Jerry Hairston Jr. on the first pitch of the game.
"The Cubs, the last couple of times I've pitched against them, have taken a good approach on me and gotten the better of me," Morris said. "I don't know if it's just them now or what."
In his last two starts, both losses, Morris (14-7) has allowed nine earned runs on 18 hits in 11 1/3 innings. Once 8-0, he's 3-5 in his last nine starts with a 5.66 ERA.
But manager Tony La Russa said he's not worried about Morris.
"I see him as the losing pitcher today and I'm anxious to send him out there Sunday against the Mets," La Russa said. "Everybody has ups and downs."
Hairston scored on Lee's one-out single, and Nomar Garciaparra added an RBI single in the inning for a 2-0 lead. Lee's 40th homer made it 3-0 in the third, successive doubles by Hairston and Neifi Perez added a run in the fourth, and Patterson hit his 13th homer off Randy Flores leading off the sixth for a 5-0 lead.
Morris threw 36 pitches in the first and lasted 4 1/3 innings, allowing four runs -- three earned -- on nine hits. He didn't have a strikeout for the first time this season.
Cardinals right fielder Hector Luna committed two errors on the same at-bat in the fourth. He dropped Neifi Perez' foul pop while bumping into second baseman Mark Grudzielanek, then misplayed Perez's subsequent RBI double into the corner, allowing him to take an extra base.
- David Eckstein also singled in the eighth and is 22-for-51 (.431) during a season-best 11-game hitting streak.
- Attendance of 47,492 was the Cardinals' 37th sellout and 29th straight of 40,000 or more in attendance.
- Patterson was in a 9-for-60 slump before homering. His last homer, on Aug. 14, also came against Morris.
- Derrek Lee has 97 RBI, one shy of his career best, set last year.
- Rusch is 5-6 with a 4.81 ERA for his career against the Cardinals.
- The Cubs are 4-3 at Busch Stadium with one game to go on Wednesday. They haven't had a winning record in St. Louis since 1995.