Ian Kennedy struck out five in seven innings to win his second straight start, and the San Diego Padres beat San Francisco 9-1 on Wednesday to avoid a sweep and stop the Giants' eight-game home streak.

Rookie Austin Hedges hit an RBI single in the decisive five-run third for his first major league hit, then added a sacrifice fly in the eighth. He earned his first start at catcher, two days after being called up from Triple-A El Paso on Monday.

He also threw out Nori Aoki at second following his RBI single in the third, and Kennedy (2-1) pointed to the catcher acknowledging the heads-up play.

At 22 years, 261 days, Hedges became the youngest catcher to start a game for San Diego since Ben Davis made 71 starts in 1999 beginning at 22 years, 106 days.

Matt Kemp hit a run-scoring double in the third to end a 22-inning scoreless stretch by the Padres and 29 innings by Giants pitchers.

Wil Myers had an RBI triple among his three hits, Jedd Gyorko added an RBI double and run-scoring single, and Justin Upton drew a career-high four walks.

The Giants tried to get in touch with Hall of Famer Willie Mays on his 84th birthday and showed highlights between innings of the Say Hey Kid on the big screen. He watched from home as public address announcer Renel Brooks-Moon led "Happy Birthday" in the middle of the fifth.

"He's the face of the Giants," manager Bruce Bochy said.

Kennedy didn't walk a batter, gave up six hits and improved to 10-4 in 22 starts against the Giants. He left his start in the April 9 home opener facing San Francisco with a strained left hamstring and went on the disabled list. He lost his first start back.

Alexi Amarista doubled among his three hits and drove in a run, Cory Spangenberg hit three singles as San Diego's bats got going against Chris Heston (2-3) after being shut out the previous two nights and going 0 for 13 with runners in scoring position.

Heston, who made his first career start against the Padres last Sept. 28, allowed 11 hits to match his season high, five runs, struck out four and walked three in five innings. The Giants had their five-game winning streak snapped with just their fifth loss in 16 games following an eight-game skid.

The Giants missed getting a third straight sweep at AT&T Park, something they haven't done at home since May 6-22, 2011, against Colorado, Arizona and Cincinnati.

TRAINER'S ROOM

Padres: Manager Bud Black plans to give his starters an extra day of rest after Monday's off day. ... 1B Yonder Alonso returned to the Padres lineup after missing two games. He left Sunday's game against Colorado in the eighth inning after being hit in the shoulder by a pitch.

Giants: C Buster Posey had the day off. ... RHP Jake Peavy, on the disabled list with a strained back, is slated to throw a bullpen session on Friday then the Giants will likely send him on a rehab assignment. ... RF Hunter Pence (fractured left forearm) is scheduled to hit live batting practice Thursday.

UP NEXT

Padres: RHP Odrisamer Despaigne makes his third start of the season and seventh appearance against the Diamondbacks as San Diego continues its nine-game road trip that ends with two in Seattle on Tuesday and Wendesday.

Giants: Coming off his first win of the year, RHP Tim Hudson (1-2) looks to improve on his 15-4 career mark against the Marlins. Hudson has won his last six against Miami.

MORSE'S RING

Marlins first baseman Michael Morse will receive his World Series ring Thursday from Bochy.

"He was a lot of fun, great teammate," Bochy said. "I'll look forward to seeing him and look forward to giving him his ring."