Mark Melancon got three outs for his 12th save in 15 chances.
Anthony Rizzo and Starlin Castro started the Cubs ninth with consecutive singles, putting runners on the corners. Melancon then struck out Luis Valbuena and got Schierholtz to hit into a fielder’s choice that drove in Rizzo. Junior Lake flied out to right to end the game.
Pirates phenom Gregory Polanco went 0 for 3 with a walk, ending his career-opening hitting streak at 11 games.
Hammel (6-5) allowed two runs and six hits in seven innings. He struck out six and walked one.
Hammel’s first pitch of the third inning was hit over the center-field wall by Snider. It was Snider’s fourth homer of the season.
“Snider sees me well, I guess,” Hammel said. “It was a bad pitch, supposed to be a two-seamer, kind of a hip shot over the inside corner, but it ran back over the plate. He obviously got it pretty good.”
Hammel is 2-2 with a 3.51 ERA in four starts this season against Pittsburgh.
“I can honestly say I’m sick of facing the Pirates,” he said. “Four series now and four out of four with them, so I’d like to see some different colors for sure. I’m sure they’re tired of seeing me, too. Obviously, 2-1, just a good baseball game.”
Saturday: Harrison powers past Cubs CHICAGO (AP) -- Josh Harrison homered and drove in three runs, leading Vance Worley and the Pittsburgh Pirates to a rain-delayed 5-3 victory over the Chicago Cubs on Saturday night. Jordy Mercer went deep for the second straight day and Andrew McCutchen had a tiebreaking RBI single for Pittsburgh, which had lost four of five. Worley (1-0) pitched into the seventh inning for his first win with the Pirates. Harrison's fifth homer with two out in the seventh made it 5-2 and came after Gregory Polanco was awarded first after a replay review determined he had beat out his sharp grounder to shortstop. Anthony Rizzo hit a two-run homer for Chicago, which had won four of five.