"He's one of the best players in the game," Cooper said. "He's a good, exciting young player and I'm tickled he's on my side. This kid can do a lot of things, and I'm very happy to have him on my team. He's going to be around for a long, long time."
With Pence leading the way, Houston bashed out 13 hits, including 11 singles. Shortstop Miguel Tejada extended his hitting streak to 17 games with a first-inning single.
The Astros have won five of six games since their seven-game losing streak and will try to sweep the four-game series from the Rockies on Thursday. Houston rallied to win when trailing after six innings for the second game in a row after losing its previous 30 games when behind entering the seventh. The Astros improved to 3-0 on their 10-game homestand.
"We've got to continue to play well throughout this homestand and have to make a push right here," Pence said. "We're not going to accept anything but making the playoffs this year. I feel like we have the confidence. We're picking up the urgency and picking each other up as a team."
Pence's leadoff homer in the seventh off Rockies starter Jason Marquis -- a 403-foot blast to left field that cleared the railroad tracks -- tied the game at 4, and the Astros pushed the winning run across later in the inning when they took advantage of a Colorado error.
"For whatever reason, I found holes and felt a little better and got some better pitches," Pence said. "It's just a day-to-day baseball game and you never know what's going to happen. I feel like I have a good approach and have an idea what's going on."
Pence floated a two-out RBI single to right field in the eighth, scoring Michael Bourn from third base one pitch after he had advanced on a passed ball to give Houston a 6-4 lead.
"I don't know what his numbers are, but he's a pretty good hitter, pretty good player," Marquis said. "He can hurt you when you make mistakes. I've just got to do a better job of pitches. That's what it comes down to."
With closer LaTroy Hawkins unavailable because he had worked three games in a row, Cooper leaned upon Chris Sampson to finish off the game. Sampson pitched two scoreless innings to become the first Astros pitcher to record a save by pitching at least two since Brad Lidge on Sept. 27, 2005.
Sampson emphatically pumped his fist when he recorded the final out and stranded two runners on base. Tim Byrdak (1-1) worked a scoreless seventh for his first win in more than a year.
"I knew Hawk was going to have a day off and I knew that if anybody was on the back end today, it was going to be me," Sampson said. "I'm an emotional guy anyway and go out there with a lot of adrenaline. It does take a toll on you. When you go out there multiple innings, the biggest thing is not only attacking hitters but also controlling my emotions and adrenaline."
Moehler, who pitched his first complete game in nearly nine years in his previous start Friday, worked six innings and gave up seven hits and four runs. He had a 3-0 lead in the first, but gave it back on a mammoth three-run homer to Ian Stewart in the fifth.
"I made one bad pitch there that didn't kill us, but we were up 3-0 and I left a pitch over the plate and he hit it out," Moehler said. "Big league hitters, if you make a mistake they're going to make you pay for it. It was supposed to be away, but it was down the middle and it got too much of the plate. He's got that uppercut swing and got every bit of it."
Houston scored three times in the first inning against Marquis (7-4). Bourn, Tejada, Pence and Carlos Lee had consecutive singles to start the inning, with Pence picking up an RBI. Lance Berkman drove in Tejada with a groundout, and Ivan Rodriguez singled home Pence to make it 3-0.
Tied at 4 in the seventh, Rockies reliever Joel Peralta was charged with an error when he couldn't handle a relay throw from shortstop Clint Barmes on what would have been an inning-ending double play off the bat of Geoff Blum. The ball went past Peralta while covering first base, allowing Lee to trot home from third and put the Astros ahead, 5-4.
"It was pretty much a yard sale," said Blum, who lumbered down the line. "I didn't pull anything or hurt anything. I'm OK. It was just an awkward play and the ball bounced around and came up and hit me after it got away."