CHICAGO -- Dontrelle Willis used his arm and hip Saturday to tie for the major league lead with his 18th win.
Willis (18-8) allowed one run and six hits in 7 1/3 innings, struck out six, walked one and hit one batter.
"He gives us a pretty good outing every time he goes out there," Marlins manager Jack McKeon said. "He's an 18-game winner. He's going to be a 20-game winner, there's no doubt in my mind. He just makes the hitters hit the ball and doesn't mess around too much."
"It's a great feeling," Willis said. "It's definitely a team effort. You have to have lot of things go your way. Today I was hit and that ended up being the winning run. I've been very fortunate to stay healthy and stay strong."
He drove in the go-ahead run when he was hit on the right hip on an 0-1 pitch in the fifth.
"I tried to dodge it, but it was on me so quick, and I have a big backside," Willis said.
Maddux (10-11) pitched a five-hitter for his second complete game of the season, striking out two, walking one and hitting two batters. He has about five starts left as he tries to extend his league record of 17 consecutive seasons with 15 or more wins.
"It's one of those games when you look back and you pitched just good enough to lose," Maddux said. "He pitched a good game. We knew going into the game we needed to hold them close and we might get him later."
It was just the third time in his 20-year major-league career that Maddux hit a batter with the bases loaded, according to the Elias Sports Bureau. He also plunked Mark Carreon of the New York Mets on Aug. 10, 1990, and F.P. Santangelo of Montreal on Sept. 8, 1998.
"It's OK to be wild, but when you're wild in tight, you run the risk of hitting the guy," Maddux said.
Nomar Garciaparra was back at third base and did not have a fielding chance. He played the position Friday for the first time since high school and made a throwing error as the replacement for injured regular Aramis Ramirez.
Florida won its third straight. The Marlins moved within a half-game of Philadelphia, the NL wild-card leader.
Guillermo Mota relieved Willis with a runner on second and one out in the eighth, then retired Derrek Lee and Michael Barrett on flyouts. Todd Jones finished for his 31st save in 33 chances, his 21st in a row.
Chicago has lost six of seven.
Jeromy Burnitz hit an RBI double in the fourth following a single by Garciaparra, but the Marlins went ahead for good in the fifth.
- Pierre stole two bases for the second straight game.
- The Cubs purchased the contract of INF Scott McClain from Triple-A Iowa. McClain, 33, had spent the entire season at Iowa, where he hit .291 with 30 homers and 93 RBI in 121 games.
- Florida recalled RHP John Riedling from Triple-A Albuquerque and optioned C Ryan Jorgensen to their top farm team. Riedling joined the Marlins for his third stint this season. He's 4-1 with a 6.33 ERA in 28 games and 27 innings with Florida. At Albuquerque, he was 4-0 with a 3.00 ERA 14 games.