SAN FRANCISCO -- Asked if he realized the Giants had managed only one run on 10 hits at one point in the fifth inning Sunday, Giants manager Bruce Bochy smiled and let out a slow, "Oh, yeah."

Unprompted, Bochy added, "I hate using up all our runs the way we did today, too."

Following a 3-1, sweep-preventing win over the Phillies in which his club totaled 13 hits, it was easier to smile about the Giants' often-anemic offense. Long devoid of clutch hits during a 1-8 stretch since taking two of three in Philadelphia, the Giants went 4-for-13 on Sunday with runners in scoring position after an 0-for-21 stretch in those situations.

But even that skid didn't come to a graceful end. With Pablo Sandoval on second in the fourth inning, Aubrey Huff's bloop single officially brought an end to the streak. Yet that hit, which seemed catchable, didn't advance Sandoval. In fact, it took two more hits just to score a run: Nate Schierholtz's base knock to right and, at long last, an RBI single on a short swing by Chris Stewart off Philles right-hander Roy Oswalt.

"That's hard to do, but we managed to do it," Bochy said of the three hits with runners in scoring position it took to produce one run. "Stew really helped lift the club with that base hit he got. If we don't score there, that can be demoralizing.

"We've been getting our hits. We've been getting guys on base. We just haven't been pushing them across," added Stewart, who finished 2-for-4, his fifth multi-hit game of the season. "Today we were able to do that. I felt like we were a lot more relaxed today. We knew the pressure was on [Oswalt]. We weren't getting the best hits, but we were getting hits, we were getting guys on. And once they were on, it was up to him to try to make pitches to get us out."

With the way staff ace Tim Lincecum was pitching, Stewart knew it could only take two runs to win, and he didn't want to see the club's ace suffer another 1-0 defeat. That would explain the team's collective sigh of relief after Stewart's hit scored Sandoval -- and especially after Orlando Cabrera's fifth-inning sacrifice fly drove in Carlos Beltran.

Jeff Keppinger, arguably the least heralded of the Giants' non-waiver Trade Deadline pickups, contributed the most at the plate Sunday, finishing 4-for-4 -- his fourth career game with four hits or more. Keppinger also drove in San Francisco's final run on a sacrifice fly in the sixth inning that plated Stewart.

All of Keppinger's four hits were singles, with the first three coming on the first pitch of each at-bat. The second baseman said he always feels comfortable in the batter's box, and it certainly looked that way Sunday.

"I like hitting," Keppinger said. "I was looking for certain pitches, and I got them. He threw what I was looking for."

Whether or not the Giants will continue to enjoy even the moderate success they found at the plate Sunday remains to be seen. But as Beltran said Saturday, they couldn't be any worse than they were when they combined for 11 runs in their past eight losses, so they have nowhere to look but up.

"It's huge. Obviously we haven't been playing well. It's nice to get out of it and hopefully start something else," Stewart said. "If we can keep playing like we did today, I think we have an outstanding chance to go deep into the season and start rolling off some win streaks in a row. It'll be nice if we keep it up."