The Blues were trailing 5-3 late in regulation but got goals from Vladimir Tarasenko and Patrik Berglund to forge a tie.
After a scoreless overtime, the game moved to a shootout.
Shattenkirk bested Antti Raanta with a low shot inside the left post to lead off the fifth round, and Elliott secured the win with a final stop on Brandon Saad.
Jaden Schwartz, Maxim Lapierre and Dmitrij Jaskin also scored for St. Louis, which posted a third win over the Blackhawks this season.
Elliott finished 17 saves in relief of Jaroslav Halak, who was lifted after yielding three goals on 13 shots in the first period.
Patrick Kane notched a goal and two assists for the Blackhawks. Sharp, Andrew Shaw, Saad and Brent Seabrook also scored.
Raanta finished with 20 saves.