Jose Abreu added a two-run homer for Houston, which had lost three of its previous four games. The Astros overcame a 7-5 deficit in the eighth.
After missing the previous two games because of a heel injury, Altuve reached base five times. His drive off reliever Giovanny Gallegos put the Astros in front to stay at 8-7. Abreu unloaded two batters later, also off Gallegos.
Altuve did plenty of homework while re-cooperating during the short time off.
“Trying to work on my timing, watching a lot of video,” Altuve said. “Baseball is a game of adjusting.”
Houston manager Dusty Baker was not surprised that Altuve would come up huge after two games on the sidelines.
“There's only one Altuve,” Baker said. “That was Jose being Jose. Glad to have him back.”
Abreu, who had three RBIs including his 900th career RBI in the first inning, agreed.
“I think we all know the type of player that he is,” Abreu said. “He has a lot of respect from the guys around the league. This was what I expect from him.”
Abreu has five homers and 19 RBI in 22 games this month after a slow start.
“I'm just talking to my bats,” Abreu said. “It's working.”
The late rally felt good for the Astros, who had lost 14 of their previous 21 games.
“We're a team that never gives up," Altuve said. "For me, every win from now on is really important. We have great players that can go out and do what they did tonight. I like my chances with our team.”
Altuve likes to face the Cardinals. He raised his career batting average to .383 against St. Louis, the best against any team.
Houston has homered in a season-high 10 successive games.
Seth Martinez (2-3) picked up the win with a scoreless inning of relief. Ryan Pressly finished for his 15th save.
Nolan Arenado, Paul Goldschmidt and Brendan Donovan homered for St. Louis, which has lost three of five.
Altuve, who went 2 for 3 and walked three times, also kick-started a three-run outburst in the first inning with a leadoff double. Martin Maldonado drove in a pair of runs for the winners. Kyle Tucker added three hits.
Arenado slammed a three-run homer in the first inning to trigger a four-run uprising. It was his 16th of the season. He left in the sixth because of tightness in his lower back and is considered day-to-day.
Gallegos (1-4) gave up five runs in 2/3 of an inning and suffered the loss.
“You score seven, you have to win a ballgame,” St. Louis manager Oliver Marmol said.
St. Louis rookie Jordan Walker was given the day off. Walker has a 16-game hitting streak, the longest current run in the majors.
Arenado left the game after the fifth inning with lower back tightness and is considered day-to-day, according to Marmol.
YOUNG AND OLD
The contest featured the oldest and youngest managers in the majors. Houston’s Dusty Baker is 74, and St. Louis' Oliver Marmol is 36.
Cardinals: RHP Ryan Helsley is expected to begin throwing this week. He was placed on the 15-day injured list June 12 because of a strained right forearm.
St. Louis RHP Adam Wainwright (3-2, 6.56) was set tol face RHP J.P. France (2-3, 3.54) on Thursday in the series finale.
AP MLB: https://apnews.com/hub/mlb and https://twitter.com/AP-Sports
Copyright 2023 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.