Oswalt took advantage of those favorable conditions and his terrific control Monday night and pitched a two-hitter to lead the Astros to their fourth win in five games, 3-1, over the Padres in the opener of a four-game series.
After winning once of his first 11 starts, Oswalt (4-4) has won three of his six starts in June. He improved to 10-2 lifetime against the Padres (3-1 at PETCO Park) by throwing his second complete game in his past three starts.
"That was a great performance by Roy," Astros manager Cecil Cooper said. "With the exception of the fourth inning, he was in total command. I thought even in the fourth, he really pitched well there to get out of that with just one [run] and probably should have got out of that with none. He was in command all night long. He was a lot like the Roy we've seen in the past."
The Padres loaded the bases with no outs in the fourth against Oswalt, who responded by retiring the final 18 batters he faced. The only run San Diego scored came on a bases-loaded wild pitch.
Oswalt threw 110 pitches, blowing a 94-mph fastball by a swinging Adrian Gonzalez to end the game with a strikeout and secure his 17th career complete game.
"It's been tough for us to score runs for him when he's pitching, but we gave him three today and it was enough," Astros catcher Ivan Rodriguez said. "He was dealing. The pitches he threw -- fastballs in and out and breaking balls and sliders -- they were all in good locations today."
Oswalt had allowed one hit through three innings before he started the fourth by hitting David Eckstein in the elbow and giving up a double to Scott Hairston. Rodriguez came to the mound and asked Oswalt how he wanted to handle Gonzalez, who is second in the league in homers.
"I said for us to load the bases and get a double play," Oswalt said. "If we give up one it's not too bad, but giving up a big hit to Gonzalez there -- it is going to be tough to come back from three runs, two runs [down]. We put him on and was going for the double play, and the ball got loose and I gave up one but was able to get out of it."
Oswalt bounced back from the wild pitch, fanning Chase Headley and Eliezer Alfonzo to end the inning. He finished with eight strikeouts, tying a season high, and the only hits allowed were a double to Everth Cabrera in the third and the one to Hairston.
"Eckstein crowds the plate bad, and he won't get out of the way when the ball gets close to him," Oswalt said. "I tried to pitch him in and jam him a little bit, and the ball kind of tailed and hit him on the elbow. The next guy gets a double, and now I'm in trouble with second and third and trying to get out of it without anything scoring there.
"I was able to come out with one, and that's a lot better than giving up a hit there and giving up two or three. The guys came back in the next inning and tied the game up, and I tried to take control and get ahead of hitters and not put guys on as far as walking [batters], and I was able to put them away."
San Diego's lead was short-lived, as Rodriguez crushed a Josh Geer pitch and sent it 398 feet over the wall in left-center field to tie the game at 1 in the fifth. The homer was the 295th of Rodriguez's career as a catcher and seventh of the season.
"The biggest hit for us was the home run that Pudge hit to get us going," Cooper said. "We were looking like we were a little flat there, and [Geer] was pitching pretty good and mixing his pitches. He kept the ball down, but once Pudge hit the homer things started to click a little bit, and I thought the guys started having better at-bats against him."
The Astros took a 3-1 lead in the sixth. Miguel Tejada, Lance Berkman and Carlos Lee had consecutive singles with one out, with Lee driving in Tejada one pitch after he shattered his bat. Berkman scored on Geoff Blum's sacrifice fly to center field.
"I knew once we went ahead 3-1, I had to take control of the game and win the game from then on," Oswalt said. "I was able to get ahead of hitters, and when you're pitching from ahead in the count instead of behind, you get them swinging at a lot more pitches. My biggest thing was not to walk anybody. If I put a guy on by walking and the next guy runs into the ball, we have a tie game."
With Gonzalez at the plate with two outs in the ninth and a full count, Rodriguez sprinted to the mound and suggested Oswalt go after him with a fastball. He did, and Gonzalez didn't have a chance.
"You have to be [aggressive], because you don't want the tying run to the plate -- and with a guy like the third baseman [Kevin Kouzmanoff], who also has power," Rodriguez said. "I told him, 'We cannot walk him. We have to go right at him.' He threw a -mph fastball. It was a good speed."