HOUSTON -- David Freese struck out three times in the first six innings Thursday night.
He more than made up for it over the last three.
It was the first career multi-homer game for Freese and his six RBIs tied a career-high.
|More on Cardinals-Astros|
|More MLB coverage|
"A typical night. Start slow and finish fast," Freese said with a laugh.
Freese's slam in the seventh inning was the third homer of the game for St. Louis. He added a two-run shot in the ninth as the Cardinals scored a season-high.
Carlos Beltran connected on his National League-leading 16th homer in the fifth and Shane Robinson added a two-run shot in the seventh to help the Cardinals take the series.
Lynn's nine victories are tied with R.A. Dickey of the Mets for most in the NL.
Lynn (9-2) allowed six hits and two runs to continue his mastery of the NL Central. He is 7-0 with 60 strikeouts in 15 career appearances in the division.
"You could tell he felt really good today," Cardinals manager Mike Matheny said. "The ball was jumping out of his hand he was blowing fastballs pretty good."
Houston starter J.A. Happ (4-6) allowed five hits and four runs with five walks in 4 2-3 innings.
The Cardinals were up 5-2 before piling on seven runs in the seventh. St. Louis batted around in that inning with 11 Cardinals coming to the plate.
Rafael Furcal singled with two outs in the seventh before consecutive walks to Beltran and Matt Holliday. Allen Craig hit an RBI single before Freese's shot to the Crawford Boxes in left field cleared the bases.
Jed Lowrie gave Houston a 1-0 lead with a homer to the first row of the Crawford Boxes in the first inning.
Brett Wallace doubled in the second on a ball that sailed over a leaping Craig and into the far corner of right field. Chris Johnson followed with an RBI double down the right field line to make it 2-0.
Chris Snyder hit a one-out single and Jordan Schafer drew a walk to load the bases with two outs. Lynn limited the damage by striking out Jose Altuve to end the inning.
The Astros couldn't get much going offensively after that while the Cardinals heated up.
Tyler Greene got the Cardinals' first hit - a single to start the third inning. Happ then battled Robinson to a 12-pitch at-bat before walking him. Greene and Robinson both advanced on a sacrifice bunt by Lynn before Greene scored on a bunt by Furcal to cut the lead to 2-1.
"When as a team you're fighting at the dish and he goes up there and has a 10-plus pitch AB, you feed off that," Freese said of Robinson's at-bat. "I think every team feeds off that.
"The good teams that end up winning the division and getting in the playoffs, one through nine, they battle in the box. The goal as an offense is to not let the pitcher have an easy inning."
A sacrifice fly by Beltran tied it at 2-2, before Holliday walked. Craig's broken-bat RBI single to shallow right put St. Louis up 3-2. Happ finally got out of the inning when he struck out Freese on his 40th pitch of the frame.
Beltran's first-pitch homer to left center came with one out in the fifth to push the lead to 4-2.
Robinson singled in the sixth and scored on a single by Furcal with one out.
Houston manager Brad Mills made some strange changes in the ninth inning when he put outfielder Brian Bogusevic in to pitch and moved Johnson, the third baseman, to right field. Bogusevic was drafted as a pitcher, but had never pitched in a major league game and it was Johnson's first career appearance in the outfield.
"It's something that is probably the last thing that a manager likes to have to go through, but to put that together to get through it, that's what we had to do," Mills said of the ninth-inning changes.
Bogusevic allowed three hits and the home run to Freese in one inning.
"It felt kind of strange, but once I knew I could throw strikes, I was more comfortable," Bogusevic said.
Freese felt like hitting the homer off him was payback for one he took from him with a leaping catch in the stands on the Cardinals' last trip to Houston.
"I don't like it. It's weird," Freese said of facing him. "But Bogusevic robbed me the last time we were here, so I'm going to count that one."
Houston placed INF Marwin Gonzalez on the 15-day DL after the game with a bruised right heel. They will make a corresponding move on Friday. ... Carlos Correa, taken by Houston with the top pick in this week's amateur draft, agreed to a contract with the Astros for a signing bonus of $4.8 million on Thursday. He received a standing ovation when he was introduced on the field in the middle of the fourth inning. ... St. Louis LHP Jaime Garcia was placed on the 15-day DL with a left shoulder strain on Thursday. RHP Fernando Salas was recalled from Triple-A Memphis to take his roster spot. .. The Cardinals open a three-game series with the Indians on Friday and Houston travels to face the Chicago White Sox.