Martinez gave up a bloop single to Jon Singleton in the first inning, and he pitched around a leadoff double in the second. He was pulled in the third after hitting George Springer, leaving after having thrown 41 pitches.
Astros starter Brett Oberholtzer, making his second start of the spring, breezed through two innings before giving up two runs in the third on four hits. Jason Heyward and Mark Reynolds had RBI singles in the inning to put the Cardinals ahead, 2-1.
"I had to work a little bit, but for the most part I was pretty efficient," Oberholtzer said. "I felt better today than I did my first start, which is expected of myself. I think the biggest thing I got out of today's outing is make a better pitch 0-2, 1-2 when I'm ahead put guys away. I threw strikes which is something you always want to do in Spring Training. But like I said, I think I have to do a better job next outing finishing guys off, or at least throwing some balls there to change the thought process for them."
The Astros scored four times in the fourth inning to take a 5-3 lead on a two-run double by Colby Rasmus, who came up and broke into the Majors with the Cardinals, and RBI singles by Jose Altuve and Luis Valbuena.
Up next: The Astros aren't slated for Grapefruit League action on Wednesday, but they have scheduled a "B" game against the Braves for 9 a.m. CT at Osceola County Stadium. Dallas Keuchel will pitch three innings, while infielder Jonathan Villar is also scheduled to play in the outfield during the game. Houston returns to Grapefruit League play on Thursday at 12:05 p.m. CT against the Tigers, when Dan Straily takes the mound in Kissimmee.
Brian McTaggart is a reporter for MLB.com and writes an MLBlog, Tag's Lines. Follow @brianmctaggart on Twitter. This story was not subject to the approval of Major League Baseball or its clubs.