HOUSTON (AP) Jedd Gyorko is providing enough power to keep banged-up St. Louis going.
Gyorko and Tommy Pham each homered to help the Cardinals beat the Houston Astros 8-5 on Tuesday night for their third straight win.
Gyorko has 11 of his 18 homers since July 18, including three in his past four games. It's helped keep St. Louis in the NL wild-card race despite injuries to top hitters like Matt Carpenter and Aledmys Diaz.
The Cardinals got more bad news Tuesday: outfielder Matt Holliday and reliever Seth Maness are headed for the disabled list. Holliday will have surgery on his right thumb and could miss the remainder of the regular season, while Maness will have Tommy John surgery, likely sidelining him until 2018.
Which means Gyorko's bat is becoming all the more important for the Cardinals, who have a one-game lead for the second NL wild-card spot.
''When he gets going, he's amazing,'' manager Mike Matheny said. ''You just don't know when he's going to hit you. When he gets into a good rhythm he's going to sneak up there and do some damage.''
The Cardinals roughed up ace Dallas Keuchel (7-12) to overcome a rocky outing from starter Jaime Garcia (10-8). Garcia gave up five runs and seven hits in five innings, including three home runs.
''It was one of those games where it was a grind for me,'' Garcia said. ''I didn't have my best stuff, but the guys picked me up, came through for me and we got the `W' so that's all that matters.''
Seung Hwan Oh pitched a scoreless ninth, striking out three, for his 12th save.
Keuchel had his second rough start in the last two weeks. The reigning AL Cy Young Award winner allowed six runs and six hits in five innings Tuesday after allowing seven runs in five innings in Detroit on July 31, matching his season high for runs allowed.
''This is probably the most frustrating loss of the season because of the way we bounced back and got four runs off Jaime and had a lead at home,'' Keuchel said. ''I just have to be better than that.''
Houston's Alex Bregman hit his first major league home run in the first in his 78th career at-bat. Houston erased a 2-0 first-inning deficit with Bregman's homer, a solo homer from Marwin Gonzalez and an RBI single from Jose Altuve.
The Cardinals evened the score 4-4 in the fifth with Pham's two-run homer and later extended the lead to 8-4 when Gyorko homered off reliever Pat Neshek for his 18th of the season.
Yadier Molina added two RBIs for St. Louis despite going 0 for 4.
Jason Castro had a solo home run for Houston in the sixth.
Altuve singled in the ninth for his 1,000th career hit, becoming the fastest player in franchise history to reach the milestone, doing it in 786 games. Cesar Cedeno previously held the record, reaching 1,000 hits in 889 games, one game faster than Jeff Bagwell.
Cardinals: Holliday will have surgery Wednesday on his right thumb. Holliday was hit by a pitch against the Cubs last Thursday and could be sidelined through September. ... The Cardinals recalled RHP Sam Tuivailala from Triple-A Memphis.
Astros: P Lance McCullers (elbow soreness) will take another week away from throwing, manager A.J. Hinch said. McCullers was placed on the 15-day disabled list on Aug. 3. ... IF Luis Valbuena (hamstring) ran bases Tuesday and took batting practice, with expectations of starting a rehab assignment soon. Valbuena strained his right hamstring on July 27. ... OF Colby Rasmus did light conditioning Tuesday for the first time after undergoing a procedure last Wednesday to remove a cyst in his right ear. He was placed on the disabled list on Aug. 7 and hopes to return around the start of September.
Cardinals: Carlos Martinez (10-7, 3.34) will try to get his first win in four starts. He has a 7.36 ERA across his first two August starts after entering the month with a 2.99 ERA on the season.
Astros: Doug Fister (11-7, 3.61) looks to replicate earlier success against St. Louis. He allowed five hits and two runs in 7 1/3 innings against the Cardinals on June 14, earning the win. He also won his last start against Minnesota despite allowing five runs and eight hits in seven innings.