SAN FRANCISCO (AP) -- The Rockies are doing the little things right on the road.
Aaron Cook pitched a five-hitter to win his fourth straight decision, Willy Taveras had a pair of bunt singles and Matt Holliday hit a two-run single and had three RBIs in Colorado's fourth consecutive victory, 6-1 over the San Francisco Giants on Saturday night.
Cook (4-1) struck out two and walked four on the way to his first complete game of the season and fifth of his career a night after Colorado rallied against the San Francisco bullpen to take the series opener.
Holliday also had an RBI groundout and doubled to give him 11 extra-base hits in his last 20, seven of those doubles. The Rockies are on their longest winning streak of the season, surpassing the three in a row they won from April 3-6.
The Rockies took two of three at Arizona before coming to the Bay Area, and have secured both a series victory and a winning road trip -- a first for the club on a multiple-city trip since before the All-Star break last year.
The benches cleared in the eighth after Giants lefty Steve Kline plunked Yorvit Torrealba in the lower back. They exchanged words along the first-base line as Kline walked and pointed toward Torrealba before the umpires and teammates kept them apart. There apparently was still bad blood between the two from a series earlier this month at Coors Field, where Torrealba stole a base on Kline with two outs in the ninth and the Giants leading 15-1.
Barry Bonds' slump continued, with the San Francisco slugger going 0-for-4 with four groundouts for his fifth straight hitless game. He hasn't homered since May 8 off the Mets' Tom Glavine, and manager Bruce Bochy wasn't sure whether No. 25 would play in Sunday afternoon's series finale.
Bonds, who turns 43 on July 24, has gone 41 at-bats and 61 plate appearances without a homer, remaining 10 shy of tying Hank Aaron's career record of 755. During that stretch since the homer, Bonds has drawn 20 walks with seven intentional free passes, struck out eight times and is batting .122.
"He's probably gotten more pull conscious," Bochy said. "But there's no question in my mind he's fine and he'll come out of this. Come the end of the year, his numbers will be as impressive as ever."
Bonds has added his dangly gold and diamond cross earring back into his uniform attire -- in his left ear -- for the first time in five years.
"Just to have people talk," he said with a smile before the game.
Cook has won his last four decisions after going winless with one loss in his initial six outings of the year. He worked ahead in the count and kept the Giants off balance with an effective mixture of fastballs and off-speed pitches.
Giants starter Matt Morris drove in his team's lone run when he chopped a bases-loaded single for a 1-0 lead in the second. Morris, who hasn't beaten the Rockies in three outings since a win on June 1, 2005, plunked Cook with a curveball in the back to put him aboard in the seventh.
The Rockies scored four unearned runs against Morris in the third following fielding errors by third baseman Pedro Feliz and second baseman Ray Durham, who left after the third and was replaced by Kevin Frandsen.
Morris (5-2) got through the first on 11 pitches, then allowed a pair of singles in the second but escaped unscathed.
The Giants loaded the bases in the second for Morris.
Durham followed Bonds' groundout with a single to right, then Feliz doubled one out later and Cook intentionally walked Omar Vizquel to bring up Morris. He hit a slow bouncer toward third and easily beat it out.
Ryan Klesko, who has been one of the Giants' most consistent hitters recently to keep himself in the lineup, went 0-for-4 and grounded into a double play. ... Taveras leads the majors with 13 bunt hits and leads the NL with 19 infield hits. ... Frandsen graduated earlier in the day from San Jose State with a degree in finance.