Maddux allowed one run in six-plus innings to earn his 327th career victory, leading Chicago over the St. Louis Cardinals 4-2.
Maddux (9-11) yielded five hits, struck out six and didn't walk a batter to win consecutive starts after a personal six-game losing streak.
"Vintage, vintage, Greg Maddux," Cubs catcher Michael Barrett said.
Maddux was sharp on the muggy, 95-degree day, retiring 10 straight between the third and sixth inning. With the possibility that Maddux could be departing Chicago before Monday's non-waiver trade deadline, the sellout crowd of 41,302 gave the right-hander a standing ovation when he left the field in the seventh after giving up a leadoff double to Scott Rolen. The usually stoic Maddux waved his hat to the crowd.
"I don't know what is going to happen and I don't think any player wants to leave Chicago, myself included, great place to play, great ballpark, great fans, great city. Aside how we're playing there is really nothing wrong with Chicago," Maddux said. "I don't know what is going to happen, but I just wanted to say thank you and let the fans know I appreciate them."
Maddux said he's open to a trade if it helps the organization.
"If [general manager Jim Hendry] gets the right players and wants to trade me, who am I to say no," Maddux said. "I want to do what's best for the team. I don't know what's going on. I don't know what's being said. I don't know really anything, but I do know I want to help the Cubs anyway I can and I would like to do it by throwing first and by going second."
NL Central-leading St. Louis dropped to 3-9 against the Cubs this season. The Cardinals have lost the first three games of the four-game series and seven straight overall at Wrigley Field dating to last season.
"I don't have an answer," Rolen said. "They played well. They played well at our place. They've played well against us. We've been making some mental mistakes."
Barrett was 2-for-3 with an RBI for the Cubs, who have won five of their last six. Ryan Dempster allowed Chris Duncan's RBI single and struck out Aaron Miles with the bases loaded in the ninth for his 20th save in 25 chances.
The Cubs took advantage of a couple of defensive lapses by the Cardinals in the second inning to take a 2-1 lead.
With runners on first and second and one out, Ronny Cedeno blooped a single to left. John Mabry was forced to try to score from second when Angel Pagan went to third. Pagan beat the throw to third and Mabry scored uncontested when third baseman Rolen was unaware that he still had time to throw out Mabry at the plate.
"Unfortunately, I think if you followed our series in the last couple of years, you become accustomed to some odd things happening between the two teams, especially here for whatever reason," Rolen said. "I certainly can't explain it."
Cardinals starter Anthony Reyes then appeared to pick off Cedeno, who got caught in a rundown between first and second. Pagan broke for home and David Eckstein's throw to the plate was late. The Cubs were credited with a double steal and stole home for the first time since Ricky Gutierrez did it Aug. 10, 2001, against the Giants.
Juan Pierre tripled and scored on Barrett's double in the fifth and Mabry hit a sacrifice fly in the seventh for Chicago.
Reyes (2-5) allowed three runs and six hits in six innings. He walked five and didn't strike out a batter.
"I was very proud of him," Cardinals manager Tony La Russa said. "You're going to tell me that on a day like today he leaves after six innings with three runs on the board. He gave us a great chance to win. I feel terrific about his effort."
Albert Pujols went 2-for-4 and scored two runs for the Cardinals.
Cubs RF Jacque Jones made a diving catch to rob Pujols of a hit in the third inning and it turned into a double play when the Cubs appealed that So Taguchi didn't retouch second base when trying to get back to first. ... Cedeno was thrown out at home by RF Juan Encarnacion after he collided with C Yadier Molina in the second inning. The ball came loose, but Cedeno wasn't able to get back up and touch the base.