Houston loaded the bases in the ninth, but Carlos Marmol retired Chris Johnson on a sharp liner to third base to end the game. Houston was 0-for-4 with runners in scoring position.
Mills, who's seen his starting staff post a 2.30 ERA in the team's past 11 games, didn't want to push Norris considering he had made just one Minor League rehab start six days earlier, throwing 75 pitches.
"They got all their four runs on three home runs, and I thought he battled pretty well," Mills said. "He's thrown 75 pitches in the last three or four weeks, and I thought 87 was enough right there with us being down like we were at that time. I thought he battled pretty well."
Norris (5-5) has lost four consecutive starts, going 0-3 with a 10.39 ERA in his three starts prior to going on the DL with a sore hip flexor and then the knee sprain. That followed wins in his first four May starts, during which he posted a 1.17 ERA.
He looked more like the pre-injury Norris on Friday, except for allowing solo homers to Luis Valbuena and Alfonso Soriano and a two-run shot to catcher Steve Clevenger.
"The lineup, I hadn't seen in a while," Norris said. "They've got some guys up there all getting opportunities, but a couple guys put some good swings on pitches -- and one real bad pitch on the two-run homer -- but I've got to get better. I've got one more before the [All-Star] break, and I'm just striving to get better."
Cubs starter Paul Maholm carried a one-hit shutout into the eighth inning and settled for 8 1/3 shutout innings, allowing four hits and striking out six. He won for the first time since May 16 -- eight starts -- and improved to 12-6 lifetime against Houston.
"Confidence is a huge factor, whether you're hitting or pitching," Maholm said. "You have to go out there confident with your game plan and keep the ball down and be aggressive. If you're doubting your pitches, you're doubting whatever, they won't be as crisp. I've faced those guys a decent amount, so I kind of know their tendencies. I go in there knowing them, and am able to be confident and aggressive and keep [the ball] down."
After scoring 27 runs in a four-game span earlier this week, the Astros have been held to nine runs and 16 hits in their past four games. The team wasn't about to use having a short night of rest as an excuse for its performance Friday.
The Astros arrived in their Chicago hotel about 3 a.m. CT Friday in advance of a 1:20 p.m. scheduled game at Wrigley Field, which was delayed at the start by 55 minutes because of rain.
"I'm not a big believer in excuses," Johnson said. "We were here, we made it here. Nobody wants to hear about how much sleep we had. We played hard, gave it all we had and it wasn't enough today."
The Astros' best chance to score before the ninth inning was in the third, when Matt Downs walked and Jordan Schafer hit a bloop single to left to start the inning. But Downs was caught stealing when he tried to get a good jump on a Norris bunt attempt and was thrown out at third base. Norris struck out, and Brian Bixler grounded out to end the rally.
"That really would have been nice to get the bunt down and see what would have happened after that," Mills said.
Norris gave up a homer to Valbuena with two outs in the second inning, and Clevenger slugged his first Major League home run in the fourth, a two-run shot to right field to make it 3-0. A more known commodity got the best of Norris in the sixth, when Soriano led off the inning with a no-doubt shot to left field, stretching Chicago's lead to 4-0.
"I got some good outs," Norris said. "I got in on some guys and got a couple ground balls. I think I threw the ball pretty well. I felt good; that was the big key for me. I've just got to keep being back out there and getting better."