Nolasco allowed one run and three hits in seven innings Sunday to help the Marlins take the rubber game of their three-game series against the Cardinals, 7-2. NL Central leader St. Louis lost a series for the first time since April 26-28 against Pittsburgh.
The Marlins climbed above .300 at 21-47, still baseball's worst record.
"We didn't see it," Cardinals manager Mike Matheny said. "The team we saw is hitting the ball and making good pitches. They have the kind of offense that can make you pay if you make mistakes, and that's what we saw. Regardless of what their record shows, they've got some talent, and they're going about things the right way right now."
Miami is 3-3 since slugger Giancarlo Stanton rejoined the lineup after missing 36 games with a strained right hamstring. He had six hits in the series.
"When you have Giancarlo back in the lineup, that's a whole different team," Cardinals second baseman Matt Carpenter said. "Nothing against the other guys, but you can put him in anybody's lineup, and that team looks a little bit different. Having him back is a big advantage."
Miami scored 19 runs in the series against a team with the lowest ERA in the majors.
"We knew they were a great team coming in here," said Juan Pierre, who had two hits in each of the three games. "This is a big series win. To beat a team like that definitely gives you confidence."
The abundance of offense was a refreshing change for Nolasco (4-7), who has endured the worst run support of any pitcher with at least 14 starts. Luxuriating in an early lead, he retired 11 in a row during one stretch.
"It helps a ton," he said. "It just changes everything and the way you pitch and your approach."
Pierre drove in two runs and had two hits to extend his hitting streak to 12 games, while Justin Ruggiano and Placido Polanco each had a two-RBI hit. The Marlins have won eight of the past 14 games, their best stretch this season.
Tyler Lyons (2-3), making his fifth major-league start, lost for the third time in a row after winning his first two decisions. He went 5 1-3 innings and gave up six runs, including four with two out.
"I made some mistakes with guys on base," Lyons said.
The Cardinals managed only five hits, all singles, with NL batting leader Yadier Molina and Matt Holliday out of the lineup. Both were given a day to rest but pinch-hit in the ninth, and Holliday was called out on strikes against Steve Cishek with the bases loaded to end the game.
Cishek earned his ninth save in 11 chances.
Carlos Beltran went 0 for 4 to end the longest active hitting streak in the majors at 14 games. Carpenter was also hitless and finished 7 for 38 (.184) on the Cardinals' nine-game trip.
Jon Jay and Matt Adams drove in St. Louis' runs. Right fielder Stanton made a leaping catch at the fence to rob Adams of an RBI and an extra-base hit in the seventh.
"With that lineup, probably among the top three in the league, you just have to stay focused," Nolasco said. "You can't lose concentration and leave balls over the middle, because they're just going to start crushing you. I was able to get away with some balls that they hit hard, and we had great defense at the same time, so it worked out."
The Marlins scored twice in the first. Pierre led off with a single and took third on a double by Stanton. Ruggiano followed with a two-run single.
A bout of wildness against the bottom of the order cost Lyons in the fourth inning. He hit Jeff Mathis, who was batting .128, and then Nolasco walked for the first time this year to load the bases. Pierre followed with a two-out, two-run single for a 4-1 Miami lead.
Pierre increased his RBI total to eight in 222 at-bats this year.
Polanco had three hits starting for the first time in five games after being sidelined by back stiffness. His two-out, two-run double in the fifth made it 6-1.
"To get a win against such a great team and a great lineup, and to play as well as we did, that's a great day for all of us," Marlins manager Mike Redmond said.
Miami 1B Logan Morrison (back) took grounders before the game but sat out for the third day in a row. ... The crowd of 18,468 was the largest of the homestand. ... David Freese had one hit, but his lifetime average against the Marlins fell to .462 (18 for 39). ... Marlins OF Marcell Ozuna, who is in a 1-for-20 slump, was given the day off. ... Pierre has 15 hitting streaks of at least 12 games, which is tied for fourth among active players.