Updated

Yasmani Grandal cracked a pinch-hit, go-ahead two-run homer in the top of the eighth inning, lifting the San Diego Padres to an 8-6 win over the Arizona Diamondbacks in the finale of a three-game set.

Chris Denorfia tallied four hits and three runs scored for the Padres, who earned their first three-game road sweep of the Diamondbacks in franchise history. They've won a season-high five straight overall.

Huston Street retired all three batters he saw in the ninth for his 13th save of the season, while Luke Gregerson (2-0) struck out the final two batters in the seventh to pick up the win.

Grandal, who hit homers in his first three career hits within the last week, has six RBI in just six career major league games.

Jason Kubel belted a three-run shot for Arizona, which has dropped five straight and seven of its last nine contests.

Justin Upton, who is 1-for-19 in his past five games, went 0-for-5 and heard some boos from the crowd.

"To be honest, I don't care about what the fans think of me. My teammates know I bust it every single day," Upton said.

After Willie Bloomquist's RBI single in the seventh tied the game at 4-4, the Padres mustered a pair of two-out runs to surge ahead in the eighth.

Logan Forsythe was hit by a pitch by David Hernandez (1-2) and Grandal followed -- pinch-hitting for John Baker -- and smacked a towering shot that just cleared the wall and glanced off of Upton's glove in right.

"He didn't quite catch it all...but he hit it just far enough," San Diego manager Bud Black said of Grandal's long ball.

The Padres added two insurance runs in the ninth. Denorfia, who led off with a double, scored on Bryan Shaw's throwing error following Alexi Amarista's sacrifice bunt. Two batters later, Yonder Alonso ripped an RBI double to right.

Pinch-hitter Stephen Drew laced an RBI double and scored on a groundout off the bat of Aaron Hill in Arizona's last at-bat to account for the final margin.

Chase Headley's RBI triple in the opening frame helped the Padres build a 1-0 lead, but Arizona responded with three runs in its half of the inning when Kubel pulverized a three-run shot to right.

The Padres regained the lead after plating a run in each of the third, fourth and seventh innings. Alonso slapped an RBI single in the third, Jason Marquis smacked a run-scoring double in the fourth and Amarista registered an RBI single in the seventh for a 4-3 Padres edge.

Game Notes

Hill extended his home hitting streak to 19 games...Prior to the game, the Padres placed pitcher Andrew Cashner on the 15-day disabled list with a strained right latissimus dorsi. Brad Brach was recalled to take Cashner's place on the roster...Arizona starter Ian Kennedy surrendered four runs on nine hits and a walk in seven innings, while Marquis allowed four runs on eight hits in 6 1/3 frames.