De La Rosa (8-7) was sharp for the fifth straight start, allowing four hits, striking out six and walking one. He didn't allow a runner past first base and twice erased leadoff singles by inducing double plays.
"He continues to take steps forward," Rockies manager Clint Hurdle said. "He's got momentum going for him and confidence."
The defending NL champion Rockies began September six games behind the Diamondbacks in the NL West. They are hoping for another spectacular finish, after going 20-8 last September. Colorado has won 14 of their last 15 September games overall.
"We're not out of it," Hurdle said. "As long as we stayed focused on our own game, that's what gives me hope."
Outings like De La Rosa's on Monday help fuel that hope. Following Bengie Molina's two-out single in the fourth, De La Rosa didn't allow a hit and retired 10 of the last 11 batters he faced, including striking out four of the last five. He was lifted for a pinch-hitter in the seventh.
"He threw strikes and pitched well, but offensively we're struggling," Giant manager Bruce Bochy said. "We're not getting the big hit to keep a rally going."
Since giving up seven earned runs in 1 2/3 innings against Florida on July 31, De La Rosa has gone at least six innings in each of his five starts and has not allowed more than three runs in any outing. He has a 1.78 ERA during that stretch.
"I wasn't pitching very good in those days," De La Rosa said of his start against the Marlins. "They gave me another chance to start. I'm starting to feel much better. I'm controlling my emotions more, I'm staying calm. That's what I need."
De La Rosa gave up leadoff singles in the second and fourth inning but a pair of double plays erased those hits.
"When he's throwing strikes, we like our chances behind him," Rockies shortstop Troy Tulowitzki said. "More than anything it keeps us in a rhythm defensively. We're able to make plays for him if he's throwing strikes."
Jonathan Sanchez (8-10), who was activated from the 15-day disabled list before the game, struck out six, walked three and allowed only three hits in seven innings. Sanchez, who went on the DL on Aug. 16 with a left shoulder strain, has not won since beating Oakland on June 29. He is 0-6 in eight starts during that span.
"The walks killed me," Sanchez said. "I walked a couple of guys and they scored. That was the key to the game."
Molina had three hits for the Giants, who have lost six of their last seven.
The Rockies got all the runs they needed in the second. Tulowitzki, who had two of the Rockies' four hits, hit a two-out triple to knock in Ryan Spilborghs and De La Rosa followed with a single to center to drive in Tulowitzki to make it 2-0.
The Rockies made it 3-0 in the third on the legs of Taveras. Taveras led off with a walk, stole second, moved to third on Matt Holliday's groundout to shortstop and scored on Garrett Atkins' flyout to shallow left field.
Taveras' speed also resulted in Colorado's final run. He singled with one out in the eighth, stole second and third and came home on a wild pitch.
Atkins' Coors Field hitting streak ended at 19 games. ... Giants 1B Pablo Sandoval led all rookies with a .393 average in August. ...Taveras leads the major leagues with 65 stolen bases. ... The Giants have been shut out 11 times in 2008.