ST. LOUIS — Carlos Beltran appears to be getting his stroke back. Good timing for the St. Louis Cardinals' final playoff push.
Beltran snapped a sixth-inning tie with a two-run, pinch-hit double and Allen Craig hit a three-run homer, powering the Cardinals to a 5-4 victory Thursday that held their cushion in the NL wild card race.
The Cardinals moved 2 1/2 games ahead of the Dodgers for the second wild card spot with 12 games remaining. Los Angeles played later at Washington.
St. Louis has won four in a row, capitalizing on a break in the schedule. There's more sub-.500 opposition ahead in the final trip of the year, with three in Chicago beginning Friday and three more in Houston.
"Our vibe's four games better," manager Mike Matheny said. "That's about it. We're really trying to enjoy each one and realize how much we're putting on each game as a club. Not looking forward to anything except the next one."
The urgency was reflected in Matheny's decision to go to Beltran, slumping much of the second half, so early.
"They told me if a situation came up where guys were in scoring position, they were going to use me," Beltran said. "So I'm not surprised. The manager is the one making the calls, and I just have to be ready when he needs me."
Beltran's double put St. Louis up 5-3, rewarding Jaime Garcia (5-7) for keeping it close. They took care of business against the lowly Astros, who absorbed their 102nd loss while leading for a single inning in the three-game series.
The Cardinals were 6-0 at home against Houston, their first season series sweep in St. Louis since 1996.
Houston did its best to hang tough.
"It definitely was a good series for us," said Justin Maxwell, who had an RBI double and two nice catches in right field. "We know what they're playing for over there. We're not going to hand anything to anyone."
"We're going to see them again next week, so hopefully, we can take some games from them," he said.
Bud Norris (5-13) allowed five runs on five hits and five walks in 5 1/3 innings for Houston after getting sent back to the team hotel Wednesday night because of flu-like symptoms. He's 0-12 with a 6.34 ERA in 18 starts since May 21 but with a lot of hard luck, too. He's had eight quality starts in his last 13 outings.
"I wasn't very good all around," Norris said. "I gave it everything I had. It's been a tough couple of days for me."
The Cardinal topped 3 million in attendance for the ninth consecutive season and 16th time in franchise history with paid attendance of 34,788.
Craig also doubled and has three homers and 15 RBIs in 11 games against the Astros this year. He's a career .412 hitter against the Astros with six homers and 24 RBIs in 20 games.
"He comes through in those big situations," Matheny said. "He can just flat hit, that's all there is to it."
Jason Motte finished for his 38th save in 45 chances and third of the series after the Astros tested the setup men.
Fernando Salas struck out Jose Altuve and pinch hitter Brett Wallace with the bases loaded to end the eighth after Mitchell Boggs and Marc Rzepczynski combined to issue three walks. Edward Mujica surrendered an RBI single to Brandon Barnes in the seventh.
The biggest worry going forward is overloading the bullpen. Motte has pitched in the last five games, and Boggs, the setup man, has worked in three straight since coming back from a minor back ailment.
"Hopefully I'll feel pretty good tomorrow and I can get back out there," Boggs said. "It was just one of those days when they were being pretty patient.
"I certainly felt like I could have gotten a ground ball out of the next guy."
Norris, who entered the game 4-2 with a 2.93 ERA in St. Louis, walked Daniel Descalso and Pete Kozma with one out in the sixth and was lifted after throwing 111 pitches. Both scored easily on Beltran's drive off Wesley Wright to the base of the wall in left-center.
Beltran was batting .296 with an NL-leading 65 RBIs at the All-Star break but is hitting just .229 with 24 RBIs since, while dealing with a sore right knee and sore right hand. He's begun to pick it up lately, going 9 for 19 during a six-game hitting streak.
"I'm fine, brother," Beltran said. "There's no excuses. Right now, these days there's not many ballplayers feeling 100 percent, so I'm good to go."
Garcia is 2-5 with a 5.67 ERA in 10 road starts, but 3-2 with a 2.84 in eight home starts.