Penny (1-0) was released by Boston last week after putting together a 7-8 record and a 5.61 ERA in 24 starts this season.
San Francisco, chasing a playoff berth, quickly signed Penny and he came through in his first outing by blanking the Phillies in a 102-pitch effort.
Jeremy Affeldt completed the shutout by throwing a perfect ninth in a non-save situation.
The Giants began the night's action trailing Colorado by a game in the National League wild-card race.
Juan Uribe hit a two-run homer and Aaron Rowand had a solo blast, both coming in the sixth inning, pushing the Giants to their sixth win in eight games.
Andres Torres drove in the first San Francisco run with a single in the fifth.
Philadelphia had only one runner reach third base. The NL East-leading Phillies had won their previous two games, but they have scored just 19 runs in their last eight contests.
Rookie J.A. Happ (10-4) allowed all four runs on eight hits in six innings to take the loss.
Copyright 2009 by United Press International.