Samardzija (1-0) gave up two hits and one walk, and struck out nine before leaving the game with a 3-0 lead.
The Pirates reached Carlos Marmol for their lone run, using a hit by pitch and stolen base and a Pedro Alvarez single to get on the board before reliever James Russell came in to get one out, and then Kyuji Fujikawa then got the final out game for the save.
Anthony Rizzo hit a two-run home run in the first inning and Welington Castillo doubled in Garrett Jones in the sixth to account for the Chicago runs.
All three Cubs runs and six hits were charged to Pittsburgh starter A.J. Burnett (0-1).