Oswalt pitched eight strong innings in the Houston Astros' 7-1 victory over the San Francisco Giants on Sunday.
"Any time you get three runs its a lot less stressful," Oswalt said. "We have Pittsburgh and Washington coming in, so hopefully we can get back to .500 and make a run for it like we usually do."
Miguel Tejada, Hunter Pence and Jason Michaels each hit solo home runs for the Astros, who had been shut out in their previous two games against the Giants. Jeff Keppinger had three hits and drove in a run.
"It's always nice to hit a home run when your team wins," Pence said. "So yeah, it was great."
A three-time All-Star, Oswalt (5-4) gave up three hits, struck out six and walked one in improving to 3-1 with a 2.13 ERA over his last five starts. He also had a two-run single in the eighth.
"Just a great outing from Roy," Astros' manager Cecil Cooper said. "I hope he pitches this way during the second half. We can jump on his back."
Rich Aurilia hit a home run for the Giants, who have lost three of their last five but are 26-13 at home.
Giants' starter Randy Johnson (8-6) left the game with a left shoulder strain after committing a throwing error in the top of the fourth inning. Johnson took an awkward swing against Oswalt in striking out in the bottom of the third and grabbed his shoulder as he walked back to the dugout.
"I'm going to make this short," Johnson said. "Right now it's a strain and I'm going for an MRI tomorrow. That's all I'm going to say."
Johnson allowed four runs and five hits over 3 2/3 innings. He struck out two and did not walk a batter.
"He was throwing slower than he normally does," Giants' catcher Bengie Molina said. "He usually throws in the 90s and all of a sudden he was throwing 81-82. Let's hope he's OK."
Tejada, named to his sixth All-Star Game earlier in the day, hit the first pitch he saw over the left field fence.
"I never look to hit a home run but sometimes I get lucky," Tejada said. "I just want to get on base ahead of the big guys. We have a week at home and we're getting close. We'll keep playing hard and see how we finish the first half."
Johnson settled in until his at bat in the bottom of the third. He gave up fourth-inning homers to first-time All-Star Pence and Michaels, then gave up a single to Keppinger.
Johnson fielded Oswalt's slow bouncer and threw it into right field, giving the Astros an extra run. He was immediately removed from the game and replaced by Justin Miller.
Houston tacked on three more runs in the eighth, with Keppinger doubling home a run before Oswalt singled into left field.
Aurilia broke up Oswalt's shutout bid with a one-out home run in the eighth.
"It's pretty simple: we got shut down," Giants' manager Bruce Bochy said. "He's one of the best pitchers in the league and he pitched great. It was too much Oswalt."
LaTroy Hawkins pitched a perfect ninth to complete the victory.
Tejada's .385 batting average against Johnson is the highest among active players. ... The Astros recorded their second straight winning road trip. ... Oswalt won his career best third straight start against the Giants. ... Keppinger improved to .356 in road games. ... Giants IF Pablo Sandoval sat out the game with a bruised knee but was expected to be back in the lineup on Monday. ... Johnson lost his second straight decision to the Astros after winning four consecutive. ... Aurilia's home run was his 143rd as a Giant and broke a tie (with Darrell Evans) for 17th place on the franchise list.