The Phillies took a one-game lead over San Francisco in the NL wild-card race. The two-time NL champions entered 2½ games behind Atlanta in the East.
Pat Burrell homered in his first regular-season game at Citizens Bank Park since the Phillies won the 2008 World Series. Jose Guillen also connected for the Giants.
All-Star second baseman Chase Utley went 0-for-5 in his return to Philadelphia's lineup after having thumb surgery on July 1.
Oswalt (8-13) allowed three runs and six hits, striking out seven.
Barry Zito (8-7) allowed four runs and eight hits in five-plus innings.