Matt Cain carried a no-hitter into the eighth inning and finished the job himself, pitching the San Francisco Giants to a 4-2 victory over the fading Colorado Rockies on Sunday.
It was a timely performance for the stingy Giants, who began the day a half-game behind first-place San Diego in the NL West. The Rockies, who have dropped six of seven, lost ground in the division race but remained 3½ games back of Atlanta in the wild-card standings.
Cain held the Rockies hitless until speedy Jay Payton legged out an infield single with one out in the eighth. Giants shortstop Juan Uribe shuffled in and to his left to field Payton's slowly hit grounder but had trouble making the exchange, and the 37-year-old Payton beat the throw to first.
Cain struck out Miguel Olivo, but pinch-hitter Melvin Mora homered to cut San Francisco's lead in half. The two-run shot ended Cain's scoreless streak at 20 innings and his chance for a third career one-hitter.
Still, the right-hander went the distance on a three-hitter for his 12th career complete game and fourth this season. He won his fourth straight start and hasn't lost in seven outings since Aug. 18.
Cain (13-10) retired his first 12 batters before making a throwing error on Troy Tulowitzki's bouncer to start the fifth. Cain also walked Ryan Spilborghs in the inning, but struck out three.
San Francisco's pitching staff got back on track after a 10-9 loss in 10 innings Saturday night. That ended a stretch of 18 consecutive games in which the Giants didn't allow more than three runs, the longest streak in the majors since the Chicago White Sox set the record with 20 straight in 1917, according to the Elias Sports Bureau.
San Francisco took two of three in the series at Coors Field.
Freddy Sanchez gave Cain an early lead. After Jorge De La Rosa (8-6) began the game by walking Cody Ross on four pitches, Sanchez homered to left on De La Rosa's 0-2 pitch.
Sanchez strained his right shoulder turning a double play in the sixth inning Saturday night and came out in the eighth. Giants manager Bruce Bochy said he wanted to be sure Sanchez's shoulder felt fine during batting practice before putting him in the lineup.
There was no problem, and Sanchez hit his seventh homer of the season, lofting a fastball from De La Rosa down the left-field line. De La Rosa has allowed at least one homer in five consecutive starts.
The Giants added a run in third after Aubrey Huff led off with a double and advanced to third when the Rockies botched a rundown. Pat Burrell followed with a sacrifice fly.
De La Rosa allowed four hits, five walks and three runs in six innings.
Matt Reynolds gave up a homer to Ross, his 14th of the season, with one out in the seventh.
Notes: Olivo left in the ninth when shortstop Tulowitzki came running across the diamond to catch Cain's popup between the mound and first base and clipped Olivo in the head or neck with his right leg. ... Flulike symptoms kept Rockies third baseman Ian Stewart from making his first start since Aug. 25. He has played in two games since returning Sept. 23 from a right oblique strain. ... Giants outfielder Andres Torres was not in the lineup. He made his first start Saturday since returning from an appendectomy Sept. 11 and homered but experienced irritation around the incision later in the game. ... Rockies 2B Eric Young Jr. was in the lineup after leaving with a bruised neck in the second inning Saturday night. ... Cain pitched one-hitters on May 21, 2006, at Oakland, and May 28 this season against Arizona.