HOUSTON (AP) -- Roy Oswalt had a message for Astros manager Cecil Cooper.
"He came up and told me a few days ago, Your ace is back," Cooper said. "That was great to know. I'm going to ride that as long as I can."
Oswalt (2-3) allowed three runs and six hits in seven innings as the Astros won their second straight following a three-game losing streak. Oswalt was 6-0 over eight starts from July 20 to Sept. 3, then went 0-4 in six starts before winning at Philadelphia on April 16.
"I feel better now," Oswalt said. "I feel a lot closer to my old self. I told him that after the Phillies game because I got command of my breaking pitches. When you have only one pitch, it's hard to perform, but now I have all of them."
San Diego knew Oswalt wasn't the same pitcher they beat 4-0 in the season opener. But they also thought he was helped by a 5-0, first-inning lead.
"He didn't have to be as fine with his pitches," Brian Giles said. "I think it settled him down, too, because it gives him a lot of confidence to throw his other pitches besides his fastball for strikes, and he did that tonight. You've always got to be ready to hit him. He has a live fastball. When he can throw his slider and fastball for strikes, it makes it extremely tough."
Justin Germano (0-2) helped Oswalt relax by allowing a career-high 10 runs in 3 1/3 innings. The 10 hits he gave up matched the most off him in 39 major league appearances.
Germano also walked three, and his ERA for the season rose from 1.35 to 5.01.
"He just didn't have his location," manager Bud Black said. "And when he did miss, he missed in the middle. I'd prefer that if he did miss, he miss either inside or outside. He starts the game off with four balls, and that's not Justin-like. After the first inning, there were a few glimpses that he might get it together, but when you give up five in the first against a guy like Oswalt, it's going to make it hard."
Houston scored its most runs this season.
"When I walked on four pitches, that was great," leadoff man Michael Bourn said. "We all were clicking."
Giles doubled twice and Adrian Gonzalez homered and had two RBIs for the Padres, who lost for the fifth time in six games.
Houston's first seven batters of the night reached on five hits and two walks. Tejada hit an RBI single, Berkman drove in three runs with his fifth homer of the season and Hunter Pence had an RBI double.
Jim Edmonds hit a solo home run in the second, his first homer since Sept. 14, but Tejada's two-run homer made it 7-1 in the second.
Bourn's stolen bases in the first and fourth innings gave him a major league best 13 steals in 13 attempts this season. ... The Astros have scored 19 first-inning runs this year, their most in any inning. ... Edmonds has 42 RBIs at Minute Maid, the most by a player who never played for the Astros. ... Cooper says he has been told by league officials he will not be fined or suspended for his criticism of the umpires in Saturday's game with Colorado. Cooper said Saturday that the umpires, in particular second base umpire Mark Wegner, blew a critical call in the seventh inning when they ruled Rockies CF Ryan Spilborghs caught a fly ball by Geoff Blum.