MIAMI -- Hanley Ramirez has been struggling at the plate.
So he decided to change his batting stance before Saturday's game and it paid off.
"The fans expect a lot of things from me so I've got to come through," said Ramirez, who also homered to lead-off the game. "They come here to watch all 25 guys, but they expect a little bit more from me."
He reverted back to the open stance he used in 2006 when he was the NL Rookie of the Year.
"I felt good right away in batting practice and I was talking to Tony [Perez] and he knows what I was doing wrong," said Ramirez, who had just one extra-base hit since July 2.
"I think everybody in the stadium probably felt [Ramirez] was about getting ready to end it," Uggla said.
Following the game-winning hit on Franklin's fastball, Ramirez did not receive the customary pie to the face from his teammates as the Marlins have banned such action after Chris Coghlan injured his knee last month while delivering a pie to Wes Helms.
"I was looking around, but it was good because it burns in your eyes," Ramirez said.
Clay Hensley (2-4) picked up the win in relief by pitching a scoreless 10th.
"I made three mistakes and they hit all three of them," Franklin said. "That pretty much sums it up."
The Cardinals trailed 3-2 with two outs in the ninth before Yadier Molina and Aaron Miles each hit RBI singles off Leo Nunez to take a 4-3 advantage. It was Nunez's seventh blown save in 33 opportunities.
"There was a lot of heroes," Cardinals manager Tony La Russa said. "You just take care of what you can do and if the other side has the last hero you just tip your hat to them."
Franklin came on to pitch the ninth, but allowed a home run to Uggla on the first pitch. It was Uggla's 25th homer of the season, his ninth in the last 15 games. Franklin's blown save was his second of the season.
"I'm thinking, tie it up myself," Uggla said.
Marlins starter Josh Johnson pitched eight innings allowing two runs and five hits while striking out five. He threw 68 of his 99 pitches for strikes before being lifted in favor of Nunez. Johnson retired the first 10 batters before Jon Jay singled to left in the fourth.
"He was sweating way too much out there and by the sixth inning he was a little bit tired and then I made a decision to bring in Leo Nunez to close the game," Marlins manager Edwin Rodriguez said.
Cardinals starter Jake Westbrook struck out a season-high nine batters, the most since he also struck out nine on September 23, 2007 against the Oakland A's as a member of the Cleveland Indians. He allowed three runs and six hits in seven innings in his second start with the Cardinals.
"I can't explain [the strikeouts]," Westbrook said. "Probably, for a lot of these guys, it's the first time facing me."
Murphy homered in the seventh off of Westbrook to give the Marlins a 3-2 lead.Notes
- Nunez's role as a closer could be in jeopardy. "The starting pitchers have been doing such a good job of getting us there and we have to make adjustments some how," Rodriguez said. "We can switch [closers], we can match hitters, we have to sit down and talk." Rodriguez added: "[Nunez] went back to throwing way too many change-ups. He has to go back and throw his 95-miles per hour fastball."
- Ramirez hit his 25th career lead-off homer, his first since September 24, 2008 at Washington.
- Cardinals 1B Albert Pujols extended his streak of consecutive games having not received a walk to a career-high tying 11 games.
- Marlins OF Cody Ross (stiff neck) and 1B Gaby Sanchez (right hamstring) were held out.
- Miami Heat forward Chris Bosh threw out the ceremonial first pitch.
- The start of the game was delayed 15 minutes due to rain.