Houston's longest winning streak since Aug. 22-26, 2010 has it within a game of .500 and going for a sweep on Sunday.
"I don't think anyone got down when we were losing those games because we knew we were playing well, so that was one of those situations where you just have to stay the course," said shortstop Jed Lowrie, who hit a two-run home run in the eighth inning to extend his hitting streak to eight games.
Norris improved to 7-2 with a 2.16 ERA in 11 career starts against the Cardinals by holding them to three singles and four walks in six innings. The only run he allowed was an unearned run in the first inning after an error by Johnson.
"It's always on my mind," Johnson said of the error. "Bud made a good pitch, had two strikes on [Jon] Jay, and I booted it. I really, really wanted to do something good in [his next] at-bat, and he threw a slider out over the plate, and I was able to get it over."
Johnson atoned for his mishap in the bottom of the inning by hitting an 0-2 slider from Cardinals starter Jaime Garcia -- a pitch that was supposed to be in the dirt -- over the left-field wall for his first career grand slam. The Astros were off and running with a 4-1 lead.
"I didn't think I was going to get anything right away," Johnson said. "I thought I was going to have to battle a little bit and at least foul some pitches off or take some tough pitches. I'm pretty sure he wasn't trying to throw that pitch right there, but you're always ready for a mistake."
That marked the fourth consecutive game in which the Astros jumped out to an early lead. They led 5-0 after two innings against the Mets on Tuesday, 5-0 after three innings against the Mets on Wednesday and 5-2 after two innings against the Cardinals on Friday.
"He was one pitch away from getting out of that," Cardinals manager Mike Matheny said of Garcia's messy first. "That 0-2 pitch, that's really kind of deflating. You come out and score in the first, and to have the four thrown right back in your face sometimes takes away from the sails of the offense."
Norris rolled through the next four innings before walks got him in trouble in the sixth. He issued three walks in the inning to load the bases for Yadier Molina and earn a visit from manager Brad Mills. Norris made a case to stay in the game.
"He wanted the ball and we want him to want the ball," Mills said.
Norris got Molina to hit into an inning-ending fielder's choice for his last batter of the night. The bullpen took it from there, holding the Cards to no earned runs in the final three innings.
"He wanted to go to the pen, and I don't blame him for that, but I know that for me and my development, I have to get better in those situations," Norris said. "The last couple games, unfortunately with two outs, I've been giving up bad hits -- not necessarily bad pitches, but I need to bear down better, and I had that opportunity today with Yadier and got that big ground ball."
The Astros padded the lead in the fourth. Johnson singled to start the inning and scored on a double by Justin Maxwell (2-for-3), who later scored on a Norris sacrifice fly to make it 6-1. Lowrie's homer to left in the eighth -- his team-leading fourth of the season -- was originally ruled a double before the umpires overturned it after consulting replay.
The home run didn't matter in the long run, but it was just a sign of how much things are going the Astros' way these days.
"They've done a great job of coming together, the way they go about their business, their pregame stuff, their BP," Mills said. "They've been very good about it and now they've been able to get some benefit from that, and that's good. Things will reflect that work as we move forward. I know it will, especially with the talent we've got."