SAN DIEGO - Derek Norris was wearing the golden sombrero — baseball talk for four strikeouts — when he stepped into the batter's box with the bases loaded and two outs in the bottom of the ninth inning of a 2-2 game.

Two pitches later, a slider from Rob Scahill caught too much of the plate and Norris drove it over the fence in left-centre to give the San Diego Padres a 6-2 victory over Pittsburgh on Friday night, snapping the Pirates' season-high, seven-game winning streak.

Norris' second career grand slam capped a wild ninth and led to a boisterous celebration at home plate. Before Norris' fourth homer of the season, the Pirates got two straight force plays at home while deploying a five-man infield.

"I caught it pretty good," Norris said. "I mean, this ballpark can make you think differently sometimes but typically whenever I get into one I feel good about it. It typically goes out. It felt good going off the bat and it carried out."

Reliever Shawn Kelley, warming up in the Padres' bullpen, caught the home run ball.

As for striking out four times, "It's not the first time and it probably won't be the last," he said. "Baseball's a funny game. I felt like I had decent at-bats all night and they executed a few pitches to strike me out. I got a little frustrated. The great thing about this game is, you continue to play the game the right way and you continue to bust your butt and play the game hard and good situations come up and you stay confident in yourself."

Jedd Gyorko started the winning rally with a leadoff walk from Scahill (1-3). Abraham Almonte bunted and Scahill fielded it but threw it away at first for an error, allowing Gyorko to take third and Almonte second. Cory Spangenberg was intentionally walked to load the bases. With the Pirates fielding a five-man infield, they got two straight force plays at home.

That brought up Norris for his winning slam.

"You don't see it often when a guy strikes out four times and then hits a grand slam, walkoff home run," manager Bud Black said. "You never know. We had chances with Alexi and Solarte. This guy has a big sinker. We beat the ball into the ground and they made plays. Derek got a fastball in for a ball and the slider was right there and he crushed it.

"Knowing Derek like I know him, this guy's got a lot of grit and a lot of heart. He doesn't stop, he doesn't melt, he doesn't cave in, he doesn't feel sorry for himself. He rose up at the most critical time," Black said.

"It was a bad pitch," Scahill said. "That's not what cost us the game. It was the throw to first. That's it. I messed it up. Nobody feels worse than me. I got the two ground balls that I needed, but if I made the throw, the inning's over.

"I just babied it," Scahill said. "That's the throw I've made thousands of times. I just babied it and threw it away."

Craig Kimbrel (1-1) pitched the ninth for the win.

Pirates starter Francisco Liriano left with a 2-0 lead after striking out 11 and walking just one while holding the Padres to three hits over six innings.

Jared Hughes relieved Liriano starting the seventh and promptly walked Will Middlebrooks and allowed an infield single to Gyorko before Almonte hit a two-run double into the left-centre gap.

After being moved by Spangenberg's sacrifice, Almonte was caught in a rundown between third and home.

Padres ace James Shields, facing the Pirates for the first time in his career and trying for his first 7-0 start, left trailing 2-0 after six.

It might have been a 3-0 lead but Gregory Polanco was tagged out at home on a strange play. Starling Marte struck out but the ball rolled behind Norris. As Marte ran to first, Polanco tried to score but Norris flipped the ball to Shields and he was tagged out. The Pirates appealed but the play stood.

Shields hit Kang with a pitch before Alvarez hit a two-run single to left.

Shields held the Pirates to two runs and six hits in six innings, struck out six and walked two.

TRAINERS ROOM

Padres: RHP Brandon Morrow, on the DL with shoulder inflammation, came out of Thursday's simulated game fine, Black said. He will throw on the side Saturday. ... 1B Yonder Alonso, on the DL with a bruised right shoulder, could be back next week, Black said. Alonso made a rehab start with Triple-A El Paso on Friday night.

UP NEXT

Pirates: RHP Charlie Morton (1-0, 2.57) makes his second start on Saturday night after winning his season debut 4-2 against Marlins on Monday. He started the year on the DL recovering from right hip surgery.

Padres: Tyson Ross (2-4, 3.84) will try for just his second victory since April 12.