The right-hander struck out 10 in his second complete game of the season, leading Florida to a 6-2 win over the Houston Astros on Tuesday night.
"We got the pitching we needed to get," Florida manager Fredi Gonzalez said. "I'm happier with that than I am with the 10 hits."
Florida's streak of 10-hit games is the longest since the 1937 St. Louis Browns reached the total in 15 straight, according to the Elias Sports Bureau.
Nolasco allowed only three hits and struck out at least one in seven of nine innings, completing the fifth complete game by a Marlins pitcher this season.
While the Marlins piled up the hits again, Nolasco dominated the Astros, retiring 23 in a row after Carlos Lee's two-run homer in the first inning. Nolasco (9-8) threw 115 pitches, 80 for strikes, bouncing back well after giving up 10 runs on eight hits against the Astros a week ago in Miami.
"Last time against the Astros, he didn't do very good," said Hanley Ramirez, who had three hits and scored a run. "We knew he could do it. The most important thing was he saved our bullpen."
• Astros: Send Pudge to Rangers
Nolasco didn't change much after the shaky first inning.
"I just made a couple of mistakes there," Nolasco said. "From there on, I just tried to get my pitches out in front and mixed it up."
Lance Berkman doubled off the center-field wall before Lee homered to left on the first pitch he saw. Lee has hit seven home runs with 27 RBI in his last 28 games.
Ramirez led off the fourth with a single to left and later scored on John Baker's sacrifice fly. Uggla then tied it with a solo homer to right, his 22nd of the season.
Lee drove a 2-1 pitch to the wall in left-center in the Houston fourth, but Cody Ross caught it on the warning track. Nolasco struck out Geoff Blum to end the inning, then fanned Hunter Pence and Chris Coste in the fifth.
"He mixed us up a lot and got a lot of first pitch strikes on us," Michael Bourn said. "He wasn't missing with too many pitches, and when a pitcher is doing that, it's kind of tough to get at him."
The Astros lost for the sixth time in eight games after trading catcher Ivan Rodriguez to Texas earlier in the day.
Rookie Bud Norris (3-1) gave up five runs on nine hits in 5 2/3 innings to lose for the first time in four major-league starts.
Norris had retired five in a row when Cantu homered into the left-field porch. Baker doubled to the gap in left center, prompting a mound visit by Houston pitching coach Dewey Robinson.
Uggla then beat out an infield single and Norris hit Ross with a pitch to load the bases. Hermida singled to right to drive home Baker and one out later, Norris walked Chris Coghlan to make it 5-2.
Hermida homered to right center off Sammy Gervacio in the eighth, Florida's 10th hit.
"It was pretty cool, how it kind of worked out in dramatic fashion, that it [the 10th hit] was a home run," Baker said. "That was pretty exciting."
Nolasco struck out Jason Michaels leading off the Astros' ninth. Bourn beat out a bouncer in front of the plate to snap Nolasco's streak of outs. Nolasco retired Miguel Tejada and Berkman on flyouts to end it.
- Marlins 1B Nick Johnson was out of the starting lineup to rest a sore right hamstring. Manager Fredi Gonzalez said he was just playing it safe after Johnson left the first game of Sunday's doubleheader against Colorado. "He's day to day," Gonzalez said. "We're just going to take it easy with him."
- The Astros placed LHP Mike Hampton on the 15-day disabled list with a left shoulder strain and recalled RHP Felipe Paulino from Triple-A Round Rock. The move is retroactive to Aug. 14, the day after Hampton left his start against Florida with the injury. Yorman Bazardo (0-0) will take Hampton's place in the rotation this week and start Wednesday's game.