CHICAGO (AP) -- Paul Maholm was eager to finish off one of his best pitching performances of the season. He settled instead for his first win in seven weeks, and that was plenty satisfying.
Maholm allowed just four hits, pitched into the ninth inning and benefited from three homers and some good defense Friday, leading the Chicago Cubs to a 4-0 win over the Houston Astros.
''I wanted it obviously. I understand the situation,'' Maholm said of being pulled in the ninth. ''I gave up two hits, but after my last outing, I'll take what I got and go on.''
Maholm had given up nine hits and seven runs in just 3 1-3 innings of his previous outing against the Diamondbacks and had been 0-4 in his previous eight outings, although he pitched well enough to win in some of those games.
Friday he mixed his pitches, had good control and worked well with rookie catcher Steve Clevenger, who also hit his first major league homer.
''If you are doubting your pitches or whatever you are not going to be as crisp,'' Maholm said. ''Whether I was throwing the so-called correct pitch, I was aggressive with it. And obviously I've faced those guys a decent amount and kind of know their tendencies.''
Maholm (5-6), making 200th major league start, earned his first win since he tossed seven shutout innings in a 1-0 victory over Atlanta on May 9. He walked one, hit a batter and struck out six in his 8 1-3 innings.
Brian Bixler started the Houston ninth with a base hit and Carlos Lee's one-out double put runners on second and third before Carlos Marmol finished for his sixth save in eight chances.
Marmol plunked Chris Snyder to load the bases with two down, but Chris Johnson lined to third to end the game.
''My job is to hit the ball hard. I can't place it. I wish I could,'' said Johnson.
Coming off a tough 7-3 loss to the Padres on Thursday night when they gave up six runs in the ninth, the Astros didn't get into Chicago until 2:20 a.m. and then to their hotel around 3:30 a.m.
''How much sleep we had, no one wants to hear about that,'' Johnson said, crediting Maholm. ''He is one of those guys who really mixes his pitches well.''
Jordan Schafer and Matt Downs had the only other hits for Houston against Maholm. Schafer's third-inning single came on a fly ball that fell in front of left fielder Alfonso Soriano, and Downs singled in the eighth.
''The guys made some great plays,'' Maholm said. ''And three homers always helps.''
Luis Valbuena hit a two-out solo homer off Bud Norris (5-5) in the second. Clevenger belted a two-run shot in the fourth for his first major league homer, and Soriano connected in the sixth.
All 15 of Soriano's homers have come since May 15. Clevenger will savor his first. He got the ball, as well.
''To hit a home run in the big leagues, it's a great feeling,'' he said. ''But more important we got the victory and we got the shutout.''
Norris allowed four runs and seven hits in six innings. He came off the disabled list earlier in the day after being sidelines with a sprained left knee. He wanted to go longer after throwing only 87 pitches but manager Brad Mills pulled him.
''Manager made his decision, so I've got to let it be with that,'' Norris said. ''But I felt strong. ''
Houston put the first two men on in the third, but Downs was thrown out at third with Norris attempting to bunt, dousing the rally. Cubs shortstop Starlin Castro ended the inning by roaming behind second to flag down Bixler's grounder and throw him out.
Bixler hit a long drive to center in the sixth, but David DeJesus leaped into the ivy to pull it down. The Cubs nearly doubled off Norris, who had walked, but Castro's relay throw was wild past first, allowing Norris to move to third.
NOTES: SS Jed Lowrie was out of the lineup to rest following the Astros' difficult 7-3 loss to the Padres on Thursday night, but he hit in the eighth. 2B Jose Altuve sat out a fifth straight game (right hamstring). ... Cubs RHP Ryan Dempster, on the DL with a lat injury, played catch and hopes to throw off the mound sometime this weekend. ... Astros 1B Carlos Lee got hit in the groin area by a hard hopper off the bat of Anthony Rizzo in the ninth but was able to regroup and stay in the game.