The loss was hung on Adam Wainwright (10-5), who gave up two runs (one earned) on six hits through 6 2/3 innings.
Cardinals shortstop Pete Kozma's error in the seventh put the go-ahead run in scoring position and Kinsler followed with a base hit that gave Texas the lead for good in a game that was delayed for 3 hours by rain.
Martin drove in the tying run earlier in the seventh off Wainwright, whose bid to become the National League's first 11-game winner went awry.
Nick Tepesch went 5 2/3 frames for the Rangers allowing the one St. Louis run on four hits. But the win went to Robbie Ross (4-1), who got the last out of the sixth. Joe Nathan picked up his 25th save.
Matt Carpenter had two hits, including a home run, for the Cards.
Putin thinks Obama would save him if he were drowning
Justin Bieber crashes Drake Bell's album release party