SAN DIEGO -- The San Diego Padres' whirlwind day started with team keeping their ace pitcher, then finished with the club extending their season-high win streak with a comeback victory.
In between star Jake Peavy vetoing a proposed trade to the Chicago White Sox earlier on Thursday and the victory, the Padres traded for outfielder Tony Gwynn Jr., the son of San Diego Hall of Famer outfielder Tony Gwynn.
Hairston's bases-loaded single with two outs off Brian Wilson gave the Padres their season-high sixth straight win and a three-game sweep of the Giants.
"It's been a crazy 24 hours," Peavy said before San Diego's comeback win.
The day would end with the Padres sweeping the Giants and Gwynn Jr. scoring the game-winning run on Hairston's single after a pinch-hit walk.
"I'm glad to be back," said Gwynn Jr., who grew up in the Padres' locker room during his father's 20-year career, all spent in San Diego. "It still hasn't really kicked in yet. But my nerves were actually pretty good being up at the plate in the ninth inning."
San Diego retained Peavy when he turned down a trade to the Chicago White Sox, choosing to remain with his longtime team. The Padres and White Sox had reached an agreement, but needed the 2007 Cy Young Award winner to waive his no-trade clause.
San Diego obtained Gwynn Jr. from Milwaukee for outfielder Jody Gerut.
Kevin Kouzmanoff led off the San Diego ninth with an infield single off Wilson (2-3) and was sacrificed to second. Gwynn Jr. then pinch hit and drew a walk. After pinch-hitter Edgar Gonzalez struck out, Brian Giles walked to load the bases.
Wilson then hit Eckstein in the left shoulder to force in the tying run before Hairston lined a single to left for the win.
"It builds confidence for us to put runners on and win a ball game," Hairston said.
"[Wilson] got off to a bad start with the dribbler," San Francisco manager Bruce Bochy said about Kouzmanoff's hit. "The walks and the hit batter killed us."
San Diego won all three games against by one run, including the first two by scores of 2-1.
"We're being tested right now," Bochy said. "This was as tough a series as you could have, the way we lost."
The Giants became the first team to score an earned run off Bell after 17 1-3 innings when Winn singled in Eugenio Velez for a 2-1 lead in the ninth. Velez led off with a walk and went to third on Pablo Sandoval's single. With one out, Winn grounded a single up the middle.
Bell's scoreless innings streak was the longest active in the majors.
The Giants wasted a solid outing by reigning NL Cy Young winner Tim Lincecum. The right-hander allowed one run and four hits over seven innings. He struck out 10, walked one and hit one batter.
Lincecum struck out 10 batters or more for the third time this season and the 14th in his career.
"Coming out of this series the way we did, it's hard to take," Lincecum said. "We have to find a way to bounce back."
Kevin Correia matched Lincecum as he faced his former team for the first time after spending the first seven years of his career with San Francisco before signing with the Padres as a minor-league free agent in the offseason.
Correia retired the first nine Giants in order. The right-hander allowed just two singles before he gave up a two-out solo homer to Aaron Rowand in the sixth to tie the game at 1-all.
Correia gave up one run on six hits over 6 1-3 innings.
Eckstein gave the Padres a 1-0 lead in the third inning with followed with bloop single that scored Chris Burke from third.
Lincecum's only loss this season was on April 12 in a 6-3 defeat at San Diego when he allowed a career-high 10 hits in 5 1-3 innings. ... Giant INF Jesus Guzman, called up from Triple-A Fresno before the game, made his major league debut by grounding into a double play in the seventh inning as a pinch hitter. ... Gerut said he was "shocked" by the news of the trade. "There's no other word for it," he said.