SAN DIEGO -- Chris Iannetta exceeded his modest goals for his at-bat in the seventh inning.
"I was just trying to protect with two strikes," he said. "I was just trying to stay out of the double play."
San Diego lost its season-high sixth consecutive game and for the 12th time in 14 games before an announced crowd of 14,717, the smallest since Petco Park opened in 2004.
After getting off to a strong start this season, the Padres are 7½ games back of the NL West-leading Los Angeles Dodgers and tied with Arizona, only percentage points ahead of last-place Colorado.
"Obviously, we are not happy about the outcome of games," said Scott Hairston, who hit a three-run homer for San Diego. "We are satisfied with our efforts, but we just have to keep going."
Glendon Rusch (2-0) went one inning for the victory. Huston Street threw a perfect ninth for his third save in three chances.
"We were very persistent on offense," Colorado manager Clint Hurdle said. "We had some good at-bats and a big swing of the bat by Chris."
Edwin Moreno (1-3) allowed a leadoff double to Todd Helton in the Colorado seventh before walking Garrett Atkins. Brad Hawpe flied out but Troy Tulowitzki walked to load the bases. Cla Meredith replaced Moreno and grooved a 2-2 pitch that Iannetta hit for his fifth home run.
"I knew I hit it well," Iannetta said. "I knew at the very least it was going to be a sacrifice [fly]."
It was the second career grand slam for Iannetta, who also hit one against the Padres on Sept. 16 at Colorado.
Adrian Gonzalez went 0-for-4 with three strikeouts for San Diego. It was the first time in 26 games this season that Gonzalez, tied for the NL lead with nine home runs, failed to reach base safely.
"That was the type of game where everybody needed to do their job," San Diego manager Bud Black said. "That didn't happen."
Hairston connected against Jorge De La Rosa in the fifth inning to put San Diego ahead 6-5. Hairston, who also had a run-scoring single in the Padres' three-run third, tied his career high for RBI and went 3-for-4.
"I feel pretty good," Hairston said. "Sooner or later, some other guys are going to get it going, too. It's just a matter of time."
Colorado got sacrifice flies from Ryan Spilborghs and Tulowitzki, who also had an RBI double and scored two runs. Helton went 2-for-3 with two walks to raise his Petco Park hit total to 58, the most for any active visiting player.
De La Rosa allowed only three hits in five innings, but his throwing error led to three unearned runs in the third.
After a leadoff walk and a single, Padres starter Kevin Correia laid down a sacrifice. De La Rosa fielded the ball in plenty of time but his throw sailed over first, allowing Henry Blanco to score. Brian Giles' groundout drove in another run before Hairston's RBI single cut the Rockies' lead to 4-3.
"I was mad at myself for some of the pitches I threw," De La Rosa said.
Correia allowed five runs and eight hits in 3 1/3 innings.
Iannetta tied his career high for RBI. ... Rockies LHP Alan Embree pitched the eighth inning to tie Charlie Hough for 31st on the career list with 858 appearances. ... Colorado won a series-opening game on the road for the first time in six games this season.