ANAHEIM, Calif. -- The Colorado Rockies have been fattening up on the interleague portion of their schedule, which is partly why they are challenging for the NL West lead.
Garrett Atkins drove in the go-ahead run with an infield single in the eighth inning and Jorge Piedra added a three-run double, leading Colorado to a 6-2 victory over the Los Angeles Angels on Wednesday night.
The Rockies, who took two of three from the two-time defending AL West champions, are tied with the Dodgers for second in the division, 1 1/2 games behind San Diego. Colorado plays its next three games at Seattle before returning to Coors Field to face division rivals San Francisco and Arizona.
"I don't necessarily know that we want to end the interleague games," center fielder Cory Sullivan said. "I mean, we're 9-3 and we're playing well. We've struggled against the Dodgers a little bit this year and they're tied with us for second. But we're just trying to get to the All-Star break."
Sullivan reached on a perfectly placed bunt single to the right of the mound with one out in the eighth and Scot Shields (4-5) walked Todd Helton. Sullivan advanced to third after a flyout to right by Matt Holliday and scored when Atkins singled off Shields' glove. A walk to Brad Hawpe loaded the bases, and Piedra followed with a drive high off the 18-foot wall in right field.
Regarding his pivotal bunt hit, Sullivan said: "They were trying not to give up a double, so I knew the first baseman was going to hug the line and play a little deeper. At that point, it's just a foot race between me and the pitcher if I get the bunt down - and I was fortunate to get it in the right spot."
Ramon Ramirez (3-1) faced two batters in the seventh and got the win despite giving up a game-tying RBI double by Mike Napoli. Jose Mesa pitched a hitless inning and Brian Fuentes did likewise in the ninth.
Rockies left-hander Jeff Francis was charged with two runs and nine hits in 6 2/3 innings and struck out four in his first career appearance against the Angels. He left with a 2-1 lead before Ramirez squandered it.
"It's not a perfect world up here. You go out and throw a good ballgame, that doesn't mean you're going to win," manager Clint Hurdle said. "Jeff was able to pitch through some traffic throughout the game and left nine guys on. He showed good composure out there and threw a lot of strikes."
Angels cleanup hitter Vladimir Guerrero, who came in with an AL-best .408 average against lefties, was 3-for-4 with two doubles and a broken-bat single against Francis following an 11-for-78 tailspin that dropped his average from .332 to .284 -- its lowest point this late in the season in his career.
Angels starter Ervin Santana allowed two runs, four hits and four walks over seven innings and struck out six after winning his previous four starts.
Colorado took the lead in the fourth on a bases-loaded walk to Hawpe -- Santana's third base on balls of the inning -- and a sacrifice fly from J.D. Closser. Santana has issued 10 walks over his last two starts, six of them in last Friday's 8-2 victory at Arizona.
"He's got good stuff and he's easy to chase out of the zone," Hawpe said. "But we had some good at-bats that inning and made him work a little bit."
Orlando Cabrera went 1-for-4 with a walk, extending his streak of reaching base to 56 consecutive games without the benefit of a fielder's choice. It tied Ryan Klesko's 2002 streak with San Diego as the third-longest in the big leagues since 1960. Barry Bonds had a 58-game streak in 2003 and Hall of Famer Wade Boggs reached base in 57 straight games with Boston in 1985. The major league record is 84 games by Ted Williams.
Angels designated hitter Tim Salmon stranded six baserunners. He struck out in the first with two runners in scoring position, popped up with the bases loaded to end the fifth and popped up again in the seventh with Napoli on second, making Salmon 8-for-37 with men in scoring position.
"Everyone around here needs to step up, from the last guy on the bench to the number one player on the team. That's how you have winning seasons," Robb Quinlan said. "But as bad as this team's playing this year, we're really not out of it. There's a lot of baseball left. So we've got to keep playing hard and keep a positive attitude. You have one good two-week stretch here and you can win this division."
Angels LF Garret Anderson, who turns 34 years old on Friday, missed his third straight game because of stiffness in his lower back. The Angels' all-time hit leader needs two more for 2,000 in his career. ... Santana, making his 38th career start, tied a career high with 115 pitches. ... Figgins, batting .253 with a team-high 11 errors, got the day off. It was only the second game he has missed all season. ... Francis came in with the fifth-lowest opponents' batting average in the NL (.224). ... The Rockies, who are 6-13 against the Angels, have lost each of their last five series against Seattle by a 2-1 margin. ... Colorado pitchers have allowed a major league-low 59 home runs.