But Cameron finally found a gap in the biggest part of the ballpark -- the key hit San Diego needed to get back on top.
Cameron tripled leading off the 12th inning and scored on a sacrifice fly by pinch-hitter Eric Young, and the Padres avoided their first four-game sweep in San Francisco in nearly 13 years with a 6-5 victory over the Giants.
San Diego also regained the NL West lead, moving a half-game ahead of the Giants by ending a four-game skid and snapping San Francisco's season-best five-game winning streak.
"It was big in the sense of our psyche," Young said. "This is July. Every team in this division knows it's going to come down to the wire in September. Everybody is jockeying for position."
The Giants, who used all their position players, took a 5-4 lead on Pedro Feliz two-run single in the eighth before Terrmel Sledge hit a tying homer leading off the San Diego ninth against Armando Benitez, the first long ball for Sledge since April 4, 2005.
Cameron tripled to the warning track in center against Brian Wilson (1-3), the seventh pitcher used by the Giants. Young followed with a sacrifice fly to center.
"We needed it bad," Cameron said. "Stopping the losing streak was the most important thing. ... I finally was able to get the ball by Finley. Leading off the inning gave us a couple of opportunities."
San Francisco was trying to win six in a row for the first time since Aug. 30 to Sept. 5 last year and earn its first four-game sweep since taking four in a row at home against the Dodgers from June 21-24, 2004.
"It doesn't get any bigger than that," Padres manager Bruce Bochy said. "So many good things happened today, despite giving up the lead there late. Those guys fought hard. I think anytime you're looking at getting swept in a four-game series, it's pretty ugly."
San Francisco rallied in the eighth against Scott Linebrink. Shea Hillenbrand singled with one out before Barry Bonds' second walk of the game. Ray Durham followed with a single to center to make it 4-3, and Finley's bloop single dropped between three players in shallow center.
That loaded the bases and made Finley the 82nd player with 2,500 hits.
Feliz followed with a two-run single, and Padres catcher Rob Bowen lost his mitt when Durham barreled into him at the plate. The ball got away, but Finley was trapped off third after slipping as he rounded the bag. Still missing his mitt, Bowen blocked the plate and caught a throw from shortstop Khalil Greene -- on the fly -- in his hands before tagging Finley, who pulled up as he approached.
Bonds, who turns 42 on Monday, played eight innings and went 0-for-2 with his 82nd and 83rd walks this year.
San Diego, which continues its 11-game road trip Monday at Los Angeles, avoided being swept in a four-game series in San Francisco for the first time since Sept. 24-27, 1993.
"I've been around the block a few years," 71-year-old Giants manager Felipe Alou said. "You have a winning streak and play a good team you're about to sweep, and anything can happen."
The Giants leave town for a trip to Washington and Pittsburgh happy to have gone 6-4 on their homestand. They missed a chance to win seven games on a homestand for the first time since going 9-1 from June 15-24, 2004.
Benitez blew his fifth save after converting each of his previous seven chances.
"One mistake," Benitez said. "It costs the game. I don't have an excuse. He beat me. So, we'll see next time. I'm upset with myself."
Piazza homered to tie the score at 2 in the sixth and Khalil Greene hit a go-ahead triple two batters later for the Padres, who ended a five-game losing streak to the Giants after taking five of the first six meetings this season.
Omar Vizquel lined a go-ahead single in the fifth inning, but Piazza's 15th home run tied it.
Adrian Gonzalez extended his hitting streak to 14 games with a leadoff double in the fifth, the first time Giants starter Jamey Wright allowed a baserunner past first. Wright gave up four runs, six hits and four walks in 5 1/3 innings.
Padres right fielder Brian Giles returned to the lineup after missing two games with a tight right hamstring and went 0-for-4.
- Finley also doubled in the second.
- It was 88 degrees at first pitch on another exceptionally hot summer day in the Bay Area.
- Feliz, who has played every inning this year for the Giants, stole his first base in the second and matched his career high with three walks.
- Vizquel stole his 15th base.
- RHP Vinnie Chulk made his Giants debut, two days after being acquired in a trade from Toronto, and was in position for the win before Benitez gave up the lead.
- San Diego's Dave Roberts stole his 25th base.
- Piazza leads all NL catchers in homers.