MIAMI -- When Ricky Nolasco is on, he is tough to beat.
"We faced a very, very good pitcher who was terrific the first seven innings of the game," Rockies manager Jim Tracy said.
Nolasco (10-7) allowed two runs and four hits while striking out eight as he reached 10 wins for the third straight season.
"When Ricky came out of that fifth inning, it was a good feeling because we knew he had his stuff," Marlins manager Edwin Rodriguez said.
Nolasco, who has been inconsistent this season, is 5-0 in five career starts against the Rockies.
Uggla and Cantu doubled in the first for a 2-0 lead.
"At first I thought it was out, then I said well at least it's going to be a double and two runs scored, then Cody Ross came up with the ball, that was outstanding," Rodriguez said. "Clutch defense."
Jason Hammel (7-5) fell to 0-3 against the Marlins in his career as he allowed five runs in seven innings.
Nolasco got his 50th career win, moving him past A.J. Burnett for second place on the Marlins behind Dontrelle Willis (68). ... Sanchez leads National League rookies with 100 hits. ... Rockies center fielder Carlos Gonzalez left the game in the sixth with a bruised left index finger. ... Marlins catcher Brad Davis went 0-for-3 with a walk in his major league debut. ... Rockies first baseman Todd Helton will play two games at Class A Asheville on a rehab assignment and could be activated for Saturday's game against Philadelphia. ... Rockies first-round draft pick Kyle Parker announced Wednesday he will remain at Clemson as the team's starting quarterback, but negotiations will continue until the Aug. 16 deadline.