Molina is only 5 for 22 with runners in scoring position this season, but he capped a comeback against Tim Hudson and the Atlanta bullpen after St. Louis trailed 3-0.
Though slow-footed, Molina also got his 15th career stolen base ahead of pinch-hitter Bryan Anderson's tying double in the seventh.
"I love it," Molina said. "Every time something like that happens, it makes me happy. We showed we're going to play nine innings hard."
Troy Glaus had two hits and an RBI for the Braves, who have been outscored 23-9 during their skid. Glaus is a career .567 hitter (17 for 30) against the Cardinals, who allowed him to leave as a free agent after he missed virtually all of last season rehabbing from shoulder surgery.
Martin Prado was 1 for 5 and grounded out to end the game with a runner on first, dropping his average to .392.
"Right now, I don't feel like any kind of numbers matter," Prado said. "Now it's just like everything is going the wrong way for us. It stinks, but we've got to keep moving on."
Albert Pujols had three hits and an RBI for the Cardinals, who have won the opener in all but one of seven series. Pujols had a run-scoring groundout in the sixth and doubled off Takashi Saito (0-1) to open the eighth.
"They play the game right," Hudson said. "They take extra bases. They do the little things it takes to win."
Both starters allowed three runs in six innings. The Cardinals' Kyle Lohse finished strong, retiring his last seven batters, but Hudson stumbled late after taking a 2-0 lead into the sixth. He gave up more than two runs for the first time in four starts.
"I was proud to be able to hang in there and keep the team in it," Lohse said. "I gave up a lot of two-strike hits and I've got to do a better job of putting guys away."
Hudson allowed four singles, a walk and no runs through the first five innings, but four of his last six hitters reached safely.
"It seems like when you go through a little frustration, the little things get magnified a bit," he said.
Rasmus had two hits and an intentional walk after going 1 for 18 at home to open the season. He is 12 for 26 during a seven-game hitting streak after hitting his sixth homer to open the seventh.
Anderson, told after the game he had been optioned to Triple-A Memphis with backup catcher Jason LaRue (right hamstring) due to come off the 15-day disabled list, tied it at 3 with a double off Peter Moylan.
Pujols dawdled a bit on a drive off the wall in left-center in the first and paid for it when Cabrera, the left fielder, threw him out trying for second to end the first. The Cardinals opened the second with singles by Matt Holliday and Rasmus but Holliday was out trying to steal on a botched hit-and-run, with Molina throwing his bat in an effort to make contact with an outside pitch.
Hudson's infield hit, ending a 1-for-31 start at the plate by Braves pitchers, opened a two-run third. Hudson scored on Brian McCann's bases-loaded sacrifice fly and Glaus added a two-out RBI single.
Cabrera beat out an infield hit to open the fourth, barely beating third baseman David Freese's throw after a nice stab down the line, and scored when Nate McLouth doubled for his third RBI of the season.
Harry Statham, coach at nearby McKendree and the career men's college basketball victory leader with 1,022, threw out the first pitch. ... Braves rookie Jason Heyward was 0 for 3 with a walk and is in a 1-for-17 slump. ... Glaus is 5 for 12 against Lohse for a .417 average, the best of any active Braves player against the right-hander.