Tim Lincecum threw eight stellar innings, Pat Burrell hit a two-run homer and the San Francisco Giants retained their slim lead in the NL West with a 2-1 win over the faltering Colorado Rockies on Friday night.

The Giants entered the day with a half-game lead over San Diego, which hosted Cincinnati later Friday.

The struggling Rockies dropped their fifth straight game and fell 4½ games behind the Giants with nine games remaining.

Lincecum, the reigning two-time NL CY Young winner, had electric stuff from the start, retiring the first 15 batters. He allowed two hits, the first a bloop double to Seth Smith in the sixth that hit just inside the chalk in shallow left.

Eric Young Jr. followed with a two-out RBI single to right, the only run the Rockies would manage off the hard-throwing righty known as The Freak.

Lincecum (15-10) was unhittable outside of the sixth inning, throwing in the low 90s well into the game. He finished with nine strikeouts, moving his total to a league-leading 229.

Brian Wilson pitched a perfect ninth for his major league-leading 45th save. He got pinch-hitter Jason Giambi to ground out to end a game that took just 2 hours, 21 minutes.

With Lincecum's exceptional outing, San Francisco pitchers have gone 18 straight games giving up three or fewer runs. It's the longest streak since the Chicago White Sox set the record with 20 in a row in 1917, according to the Elias Sports Bureau.

Rookie Jhoulys Chacin (9-10) was matching Lincecum most of the game, giving up three hits and two runs in seven innings before being pulled after 120 pitches.

Chacin walked Buster Posey to begin the seventh and then made his only mistake of the night, a hanging slider to Burrell, who crushed the pitch deep into the bleachers in left.

Ubaldo Jimenez may be the team's ace and NL Cy Young contender, but Chacin has been just as stellar since he was inserted back into the rotation on Aug. 17, going 4-2 with a 1.98 ERA.

Chacin got the first six hitters to start the game, four on strikeouts. He finished the night with eight strikeouts.

The Giants had a chance to put a run on the board in the fifth when Jose Guillen laced a single to center. But Guillen made a baserunning blunder, leaving first too early as he tried to tag up on Juan Uribe's fly to right.

Home plate umpire Laz Diaz called Guillen out on an appeal for the second out.

The next batter, Cody Ross, followed with a single. Chacin ended the inning by striking out Lincecum.

Despite the importance of the three-game series with the Giants, Rockies manager Jim Tracy refused to huddle up his squad for a pep talk.

"I don't need to do that," Tracy said before the game. "For me, that would be like walking in there and shooting up a flare versus taking red paint and painting 'panic' on the wall, side walls, of the clubhouse."

Notes: Giants OF Andres Torres, who had an appendectomy on Sept. 12, entered the game as a defensive replacement late in the game. He flied out in the ninth. ... Giants INF Travis Ishikawa turned 27 on Friday. ... Tracy said there was "no chance" of Jimenez pitching on short rest. ... Rockies RHP Jason Hammel said his arm feels better and he's confident he will pitch Saturday night. Hammel was taken out in the fourth inning Sunday because of a tired arm. ... Rockies 3B Melvin Mora was replaced in the fourth due to an illness.