Norris retired the first nine batters he faced, striking out four. Jon Jay doubled to lead off the fourth and moved to third on a one-out groundout, but Allen Craig flied out to right to keep the game scoreless.
After the fourth, Norris allowed just a one-out single in the sixth inning. He finished the season with a 1.71 home ERA, the best in the National League among pitchers with at least 10 home starts. That's also the best mark in Minute Maid Park history for a single season.
Norris was 5-1 with a 3.14 ERA on May 21 before going 0-12 over his next 18 outings before Wednesday.
"I've been battling all year," Norris said. "I'm going to keep trying to battle. I got off to a great start, a couple things nagged against me, but that's the game and you've got to keep grinding through it."
The blister issues weren't a big factor on Wednesday, thanks to some help from family.
Norris said his sister and her fiancé, who works at a hospital, found a liquid skin adhesive, Dermabond, and shipped it overnight to Norris. The Astros training staff apparently couldn't find the substance locally.
"It seemed to do the trick," said Norris, who also wore a bigger hat to avoid irritating his scalp. "My finger really wasn't bothering me today, which is always nice when you don't have to worry about it."
The Cardinals, competing for a National League Wild Card berth, showed some life in the eighth. Adron Chambers reached after being hit by a pitch and Daniel Descalsco got on base after Brett Wallace made a fielding error.
Norris struck out Pete Kozma for the first out before DeFrancesco brought in reliever Wilton Lopez to face pinch-hitter Carlos Beltran.
Lopez got Beltran to ground into a fielder's choice. Jay then ended the inning with a groundout to shortstop Jed Lowrie.
In the ninth, Matt Carpenter led off with a single but was erased by a 6-4-3 double play. Lopez finished the five-out save by getting Craig to ground out.
"That's not easy to do against this lineup," Norris said. "I'm pretty pumped about that."
The Astros didn't muster much offense against Cardinals starter Chris Carpenter, but they got enough to avoid a sweep and defeat the Cardinals for the first time in their last 11 tries.
Jose Altuve's solo homer on the first pitch of fourth produced the first run. It was Altuve's sixth homer of the season and his first since June 23.
"It's been a while since I hit the last one," Altuve said. "I felt pretty good. I hit the ball pretty good. I hit the last homer at home."
Wallace singled with two outs to score Justin Maxwell and give the Astros a 2-0 advantage.
"I told myself I wasn't going to let Altuve hit a first-pitch fastball and I did," Carpenter said. "Then I hung a breaking ball [to Wallace]."
Carpenter, making his second start of the season, went six innings, allowing two runs and four hits.
The Astros finished with a 35-46 record at home. The next time the Astros take the field at Minute Maid Park, they'll be an American League club with a designated hitter in the lineup. The roster will probably look a lot different.
"You're going to see some more power," DeFrancesco said. "You're going to see different players come in here and try to hurt a baseball. We're going to have a new uniform next year. We're going to have a new attitude. I think it's time for a change."
DeFrancesco made sure to hold onto Wednesday's lineup card and planned on getting the entire team to sign it. He hasn't been eliminated from contention for the manager job; he just wanted to keep something from his first season managing in the Major Leagues.
He was pleased that the team was able to finish the homestand with a 3-3 record. The Astros are 11-13 in September.
"The guys aren't quitting," DeFrancesco said. "Our goal now is to try to finish the season .500 for the month of September. We still have a chance to do that."