HOUSTON -- Roy Oswalt admits that he hasn't had a great season so far. Maybe Monday's outing will turn it around.
Oswalt (2-2) improved to 7-1 in 10 career starts against Colorado and earned a decision for just the second time in 10 starts this season. He yielded hits and two walks in seven innings to match his longest outing of the season.
Oswalt had allowed at least three runs in his previous five starts, an unusually mediocre stretch for a pitcher who's averaged 17 wins over the last five seasons. But Oswalt said he never worried that he'd suddenly lost it.
"No matter how long you play this game, you're going to run into a skid where you're not doing too well," said Oswalt. "I think some of the guys in the Hall of Fame actually ran into a few skids here and there.
"You're only human," he said. "A lot of people go through a lot of things. The good ones come out of it."
Todd Helton hit a solo homer for the Rockies, who've lost five of their last seven. They're 2-2 since Jim Tracy replaced Clint Hurdle as manager on Friday.
Helton said Oswalt threw mostly fastballs, rarely using his other main weapon, a nasty curve. Oswalt threw 102 pitches, 70 for strikes.
"He has great stuff," Helton said. "He basically just dominated us with his fastball. He came right at us."
Aaron Cook (3-3) lost his second start in a row, yielding nine hits in six innings.
Lance Berkman gave the Astros a 1-0 lead with a two-out, RBI single in the first inning.
Oswalt gave up five hits but no runs through four innings, while Cook retired the next six hitters after Berkman's hit, five on groundouts.
Hunter Pence led off the Houston fourth with a single, went to third on Lee's blooper and scored on Berkman's sacrifice fly to left for a 2-0 Astros lead.
Helton hit a solo homer over the right-field wall, just out of Pence's reach, in the fifth. Helton's seventh homer of the season was the 12th allowed by Oswalt in 2009.
Miguel Tejada singled to left in the Houston sixth to extend his hitting streak to 15 games, the longest active streak in the NL. One out later, Lee lined a homer into the left-field seats, his ninth of the season.
Lee had not driven in a run since May 16, his longest span without an RBI since he joined the Astros in 2007.
"I would say these last two weeks have been the toughest two weeks of my career," said Lee, batting .319 after going 3-for-3 on Monday. "I've always been able to get an RBI here or there. These last two weeks have been really tough. I felt great at the plate [on Monday]. I don't know how that happened."
Lee's home run allowed Oswalt to relax for his final inning of work.
Matt Murton pinch hit for Cook leading off the Colorado seventh and grounded out. Oswalt fanned the next two batters to reach eight strikeouts for the game.
"Any time you get a three-run cushion that late," Oswalt said, "it makes you a lot of more aggressive."
Darin Erstad batted for Oswalt in the Houston seventh.
Astros manager Cecil Cooper stopped short of calling the effort Oswalt's best of the season. But Houston won for the third time in four games behind another strong outing from its starter.
"That's what we need," Cooper said. "We have to get that in order for us to be successful."
Chris Sampson relieved Oswalt and allowed two singles in the Colorado eighth. LaTroy Hawkins pitched the ninth and earned his seventh save. He did not allow a run for the 18th time in his last 21 appearances.
- Cook had not yielded a home run since April 29, a span of five starts.
- Berkman, who came into the game with a .230 average, batted fifth for the second consecutive game. The slugger usually bats third. "We're just going to see where this goes," Cooper said.
- Astros closer Jose Valverde threw about 20 pitches in a bullpen session. Valverde has been on the disabled list since April 28 with a right calf strain.
- The Rockies opened a season-long 11-game road trip.