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.
Celebrity Couples of 2014 [PHOTOS]