Updated

Carlos Beltran's two-run double in the sixth inning proved to be the difference, as the St. Louis Cardinals beat the Houston Astros, 5-4, to complete a three-game sweep.

Allen Craig hit a three-run homer for the Cardinals, who lead the Brewers by 2 1/2 games for the second of the NL's two wild card berths.

Jaime Garcia (5-7) allowed three runs on six hits over six innings to pick up the win. He struck out five and walked two while improving to 1-5 lifetime against Houston.

Brandon Laird knocked in two runs for the Astros, who fell to 48-102 on the season. Justin Maxwell and Brandon Barnes added an RBI apiece.

Bud Norris (5-13) continued to struggle on the mound, giving up five runs on six hits while striking out seven and walking five over 5 1/3 innings. The right-hander saw his career-long losing streak reach 12 games.

"They're a good ballclub over there and we've got to get better," Norris said.

Houston got on the board in the first inning after loading the bases with one out. After J.D. Martinez struck out swinging, Laird walked to force in a run.

But the Cardinals responded with three runs in the bottom half. Matt Carpenter and Matt Holliday hit one-out singles. Craig followed with a homer to left- center field to make it a 3-1 game.

The Astros got two runs back in the third. Barnes doubled to left and raced home on Maxwell's double to center. With two outs, Laird hit an RBI single that bounced off second base.

Beltran broke the tie in the sixth. Daniel Descalso and Peter Kozma walked to chase Norris from the game. Wesley Wright came in from the bullpen and Beltran greeted him with a pinch-hit, two-run double off the wall in left-center field.

"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."

Houston kept it close by scoring once in the seventh. Scott Moore singled, moved to second on a wild pitch, advanced to third on Jose Altuve's groundout and raced home on Barnes' single.

The Astros had a chance to tie the game or go in front during their next at- bat. Fernando Salas entered the game for St. Louis with the bases loaded and one out. He struck out Altuve and Brett Wallace to keep it 5-4.

Jason Motte worked a scoreless ninth to pick up his 38th save of the season.

Game Notes

The Cardinals lead the season series by a 9-3 margin ... St. Louis eclipsed the three million mark in attendance for the ninth consecutive season and 16th in franchise history ... Houston went 3-for-14 with runners in scoring position and stranded 11.