PHILADELPHIA -- Barry Zito kept getting into jams only to find a way out each time.
Zito (6-5) pitched out of trouble throughout the afternoon to win his third straight start. The Phillies helped by going 1-for-14 with runners in scoring position and stranding 12 runners.
"He's always been that kind of pitcher. He makes good pitches when he has to," Giants catcher Bengie Molina said.
Barry Bonds was 0-for-4 with two strikeouts and a walk to remain at 746 career homers, 10 shy of breaking Hank Aaron's record. After homering 11 times in his first 76 at-bats, the Giants slugger has only one home run in 61 at-bats since connecting May 8.
"He's jumping. He's trying to force it. He's trying to muscle the ball," Phillies manager Charlie Manuel said.
Zito allowed six hits, walked four and struck out five. The left-hander has an 0.45 ERA in his past three outings after giving up 13 runs combined in consecutive starts.
"I thought that was big trying to pitch out of some pressure with some of the best hitters in baseball," he said.
Jon Lieber (2-4) allowed five runs and 10 hits in five-plus innings. He has allowed 14 runs and 29 hits in three starts after posting a 2.50 ERA in his first six.
Manuel said the team has no plans to move Lieber back to the bullpen, where he started the season. Lieber left without speaking to reporters.
Philadelphia lost five of seven on its homestand after sweeping a three-game series in Atlanta to move a season-best two games over .500. The Phillies are eight games behind the NL East-leading Mets going into a three-game series in New York.
"We haven't played up to our capability," Ryan Howard said. "The bright side is we haven't played our best ball. Hopefully we can keep ourselves in striking range."
The Giants scored five runs off Lieber with two outs in the fifth to take a 5-0 lead.
Frandsen led off the inning with a single and Winn had an infield single that put runners at the corners with one out.
Fred Lewis followed with a grounder to Howard, who was a few feet off first base. Instead of going to second and trying for an inning-ending double play, Howard hesitated before throwing home to get Frandsen.
Klesko hit the next pitch off a billboard on the facing of the second deck in right field to give the Giants a 3-0 lead. A high follow-through on his swing made Klesko's bat flip look exaggerated as he admired his second homer of the season.
The Phillies didn't appear to be offended.
"Klesko's homer was huge," Giants manager Bruce Bochy said.
Bonds followed with a walk, Durham doubled and Molina was intentionally walked to load the bases. Pedro Feliz drove in a run with a single to right and Frandsen's infield single to third made it 5-0.
The Phillies had a chance for a big inning in the bottom of the fifth, but only produced a run.
Singles by Jimmy Rollins and Chase Utley sandwiched around second baseman Durham's error on Shane Victorino's grounder loaded the bases. But Howard flied out to shallow left. After Rollins scored on Jayson Werth's groundout to cut it to 5-1, Aaron Rowand fouled out to end the inning.
With the bases loaded and one out in the first, Werth popped out to shallow right and Rowand hit a bouncer to Zito to end the inning.
After the first two batters reached in the third, Utley struck out looking, Howard fanned swinging and Werth flied out.
The Phillies again put runners on first and second with no outs in the sixth, but pinch-hitter Pat Burrell, Rollins and Victorino all grounded out.
"It's a tough loss when you have so many opportunities to get the job done and don't," Howard said.
- Giants right-hander Russ Ortiz pitched two-thirds of an inning, before leaving with a forearm injury in the eighth. He's day-to-day.
- The Phillies are 6-15 against left-handed starters.
- Klesko is batting .405 (17-for-42) with five homers and 18 RBI lifetime against Lieber.
- Zito is 89-4 when he receives four runs or more.