MIAMI (AP) -- The St. Louis Cardinals got just enough from their 18 hits to hang on.
LaRue hit a two-out, two-run double with the bases loaded to break a tie at 2. Glaus tried to score from first base on the play but was thrown out at the plate.
"You have to make the most of every at-bat and every opportunity," LaRue said. "I'm a guy who in the past has played a lot, but I accept this role and don't put any added pressure on myself. You just have to go out there with confidence."
Looper (11-9) gave up one earned run and five hits in seven innings. He walked one and struck out five.
"That's a dangerous lineup over there and they can really make you pay," Looper said. "You have to stay focused and minimize the bad pitches and I was able to do that."
"I want to be the guy up in that situation every time, I just haven't been getting too many hits in that situation lately," said Willingham, batting .219 with runners in scoring position.
Glaus hit an RBI double in the ninth and Perez closed for his third save.
It was 2-all in the St. Louis seventh when Skip Schumaker and Albert Pujols singled off Renyel Pinto (2-4). Reliever Justin Miller fell behind in the count 2-0 on Glaus and issued an intentional walk. LaRue, a backup catcher to Yadier Molina, followed with his double.
Florida starter Ricky Nolasco allowed two runs and 10 hits in six innings.
"He gave up a lot of hits but he never gave up the big inning," Marlins manager Fredi Gonzalez said.
"That was huge," Cardinals manager Tony La Russa said. "Gonzalez gets that off the wall and we're in trouble. If he doesn't make that catch the whole inning changes and we're looking at the possibility of a big inning."
Gonzalez had a different take.
"That's the way my night went," said Gonzalez, who went 0-for-5 batting in the No. 2 spot.
Looper's infield hit in the sixth set up Adam Kennedy's second sacrifice fly of the game, tying it at 2.
The Marlins scored an unearned run in the first after Glaus' error at third base.
It was Glaus' second four-hit game of the year and ninth of his career. ... Florida will seek a series split in the four-game finale on Thursday night. The Marlins haven't won consecutive games since July 30-31. ... It was the 11th time the Cardinals had at least 18 hits and scored six or fewer runs. The previous time was Aug. 30, 1990, at Atlanta when St. Louis scored five runs on 19 hits. ... Florida threw out multiple runners on the basepaths for the fourth time this season.