PHILADELPHIA -- Clint Barmes provided a lot of the offense and the defense, too, for the Colorado Rockies.
The rookie shortstop had four hits and made a diving catch to preserve the lead as the Rockies beat the Philadelphia Phillies 7-4 Wednesday night to stop a 10-game road losing streak.
Barmes, who drove in three runs, is 15-for-23 (.652) with eight RBI in his last six games.
"I'm giving myself a chance to get a good swing on every pitch," he said. "I'm getting good pitches to hit. I'm doing that more consistently than I've ever done in my life."
With the Rockies ahead 2-1 in the sixth and two on, Barmes lunged to make a backhand catch of David Bell's liner, then doubled up Jim Thome at second for an inning-ending double play.
"I was kind of surprised that I got to it," Barmes said. "I got a great jump on it."
Colorado then broke open the game with a four-run seventh. The Rockies' skid on the road, which dated to a 4-1 win at Los Angeles last Sept. 29, had tied the team record, set in 1997 and also matched in 2000 and 2003.
"Honestly, we were in a lot of those games so it's not like we were getting blown out," Barmes said. "It was just a matter of times for us to get things going our way and turn it around."
Colorado manager Clint Hurdle said that Barmes' great start was the result of hard work.
"He battles and hasn't given many at-bats away," Hurdle said. "He's hit some good pitches. He's really grinding."
Jamey Wright (1-1) became the first Rockies right-handed starter to win since he beat San Francisco last Sept. 1, allowing one run, five hits and four walks in six innings. He didn't allow a run after Jimmy Rollins homered leading off the first.
"I didn't feel good when I got out there," Wright said. "My mechanics, I was rushing a little bit. It was a changeup up, and that was really the only bad changeup I threw all day. It happened to be in the first inning, and it happened to be the only run they scored."
Cory Lidle (0-2), who gave up four runs and 10 hits in six-plus innings, was impressed by Barmes.
"Barmes is just locked in right now," Lidle said. "I tried different pitches, but he's just on everything. I tried to go in with a plan, but it didn't work out tonight."
Brad Hawpe homered for the Rockies, who had 16 hits, one night after the Mets had 15 against the Phillies -- seven of them homers. Mike Lieberthal also homered for Philadelphia.
Run-scoring singles by Preston Wilson in the first and Barmes in the second built a 2-1 lead for Colorado.
Aaron Miles' leadoff triple and Barmes' RBI single chased Lidle in the seventh. Matt Holliday hit a run-scoring single off Ryan Madson and Hawpe hit a two-run homer for a 6-1 lead.
"We've got to get our bullpen to be more consistent," Phillies manager Charlie Manuel said. "Some guys probably need more work."
Lieberthal homered off in the seventh off Jose Acevedo and Kenny Lofton had an RBI single. With the bases loaded and two outs, Miles ran over from second base to make a diving catch on pinch-hitter Placido Polanco's popup down the right-field line, nearly colliding with first baseman Todd Helton and right fielder Cory Sullivan.
Miles hit an RBI single in the eighth against Rheal Cormier that increased the lead to 7-3. Pat Burrell had a sacrifice fly against Chin-hui Tsao in the ninth.
Rollins got his 10th career leadoff homer. ... The Rockies' two games in Philadelphia are sandwiched between 11 home games. ... Philadelphia's Bobby Abreu is perfect in six steal attempts after swiping second in the third inning.