DENVER -- Nolan Arenado has made a splash with his defense. On Saturday, the rookie showed he can deliver with his offense, too.
Arenado hit a game-ending single with two outs in the ninth inning to lift the Colorado Rockies to a 2-1 victory over the San Francisco Giants, losers of six straight for the first time in three years.
Michael Cuddyer singled in the first inning to extend his hitting streak to 26 straight games.
Arenado was expected to be with the Rockies in 2012 but was kept in Double-A. He finally got the call-up April 28 and has been entrenched at third base, where his defense has drawn praise from teammates and opponents.
"I was telling all these guys in spring training, 'Hey, watch this guy Nolan in spring training, he can pick it,'" injured shortstop Troy Tulowitzki said. "You get a glimpse of it in spring training but it doesn't really click until you see him in game time."
On Saturday, the Rockies needed him to contribute with his bat, and he didn't disappoint.
"Two-out walks will kill you," Affeldt said.
Josh Rutledge ran for Helton, stole second and scored when Arenado singled up the middle on a 2-2 pitch to help the Rockies return to .500 at 41-41.
"That was big on Rut, he basically won the game. If it weren't for that it was just runners on first and second," Arenado said. "(Affeldt) hung a splitty and I was fortunate I put a good swing on it."
The hit made a winner of Rafael Betancourt (2-3) in his first appearance since May 31.
"It's not a good stretch," manager Bruce Bochy said. "I'll leave it at that."
Cuddyer's streak is the longest in Rockies' history and in the majors this season. He has reached base safely in a franchise-record 45 straight games.
He took the drama out of it early with an RBI single up the middle in the first that gave the Rockies a 1-0 lead.
"I had a chance to get out of that in the first inning and didn't make a good pitch to Cuddyer," starter Matt Cain said. "Being as hot as he is, you make a mistake to him, he's going to get a hit. I could kick myself for that (0-2 curveball)."
Colorado starter Jorge De La Rosa made the one-run lead stand until the sixth, when he gave up three hits, including Posey's two-out, RBI double that tied the game at 1.
Posey has now reached safely in 47 straight games against the Rockies.
De La Rosa went to the mound at the start of the seventh inning but never faced a batter. Manager Walt Weiss and trainer Keith Dugger came to the mound and checked on the lefty, who has been bothered by a bruise on his left thumb since June 17. After a brief conversation De La Rosa was replaced by Wilton Lopez.
"He felt it early and it got progressively worse as the game went on," manager Walt Weiss said. "We'll continue to work with it. Hopefully he'll get that thing behind him at some point."
De La Rosa said the thumb began to hurt when he was throwing in the bullpen before the game. He said he plans on making his next start.
"For sure. Yes, I will," he said.
The Rockies had missed a chance to extend their 1-0 lead in a mistake-filled bottom of the second. With Yorvit Torrealba on first, De La Rosa laid down a bunt. Third baseman Pablo Sandoval's throw to second went into center field and Torrealba advanced to third. Center fielder Juan Perez's throw to third got by Sandoval but Torrealba didn't score even though there was no Giants player covering home.
It was the last chance Colorado had against Cain, who turned in his best performance of the season despite getting a no decision. He set down the last 20 batters he faced and showed his first two starts against Colorado this season were an aberration. In those games he allowed a combined eight runs and 12 hits in 11 1/3 innings.
This time, he allowed just one run on three hits and struck out five in eight innings.
"I started making pitches and started to get ahead of guys," Cain said. "I wasn't getting ahead of guys early."
Rockies OF Dexter Fowler missed his fourth straight game with a sore right hand. Weiss said he won't play Fowler during the series in case the Rockies have to put him on the 15-day DL. ... Giants RHP Santiago Casilla will make a rehab start for Class-A San Jose on Sunday. Casilla had a bone cyst removed from his knee. ... San Francisco RHP Chad Gaudin (right elbow contusion) threw a bullpen session before Saturday's game. He is on schedule to return July 6. ... Tulowitzki (broken rib) took grounders and did some running before the game. Friday he took 10 swings off a tee but will not swing a bat again until he has a second MRI in the next week. ... Colorado RHP Edgmer Escalona (right elbow inflammation) pitch 1 1/3 innings in Triple-A Colorado Springs on Friday and could be activated from the 15-day DL on Sunday.