Shattenkirk scored midway through the final period, breaking a 1-1 tie.
Ryan Reaves also scored as St. Louis notched a third straight win and sixth in seven games.
Jaroslav Halak stopped 19 shots for the Blues.
Jussi Jokinen got the only goal for the Penguins, who fell for a second straight game.
Marc-Andre Fleury turned aside 30 shots.
Millions of Getty images now available for free via embed tool
NBC reportedly holds celebs hostage to Jimmy Fallon's show