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.
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.
His other two were May 21, 2006, at Oakland, and May 28 this season against Arizona.
Cain (13-10) retired his first 12 batters and finished with a three-hitter for his 12th career complete game and fourth this season. He won his fourth straight and hasn't lost in seven outings since Aug. 18.
The right-hander didn't allow a baserunner until he made a throwing error on Troy Tulowitzki's bouncer to start the fifth. Cain also walked Ryan Spilborghs in the inning but struck out three.
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.
Cody Ross also homered in the win.
The Padres were embarrased by the Reds in San Diego, losing 12-2. The Giants are once again in sole possession of first place in the N.L. West by .5 games with six games left to play.