The game was scoreless into the third period but Chad LaRose and Jeff Skinner finally broke through against Elliott. That snapped a two-game skid for Carolina and gave the Blues their second straight loss.
Despite the setback, St. Louis leads Vancouver by six points for the top spot in the Western Conference.
LaRose broke the scoreless tie with 7:52 to go in the third period by putting a wraparound shot past Elliott.
Ward, who made 40 saves, has 20 shutouts for his career.
Rosie O'Donnell unveils nearly 50-pound weight loss
Putin thinks Obama would save him if he were drowning