Artem Anisimov, Ryan Johansen and Marian Gaborik also had goals for Columbus, which has gone from cellar-dweller to playoff contention in seven weeks. The Blue Jackets were last in the NHL after a 5-12-2 start but have earned points in 18 of 22 games since (13-4-5).
"In the second period they stepped it up a notch," said David Backes of the Blues, whose season-best, six-game winning streak ended. "We didn't have a ton of response to that."
The Blue Jackets, 11-1-3 in their last 15 home games, were almost in a must-win situation.
Columbus is 10th in the Western Conference with 43 points, two behind eighth-place Detroit and the postseason cutoff with seven games to play. The Blues are in sixth place with 48 points.
"They came at us hard," St. Louis defenseman Jordan Leopold said. "There was no secret in that. They're a desperate team right now. You look at where they're sitting, they're going to come out and play with some steam. There were times when we got outbattled."
If the Blues ran out of steam, it might be attributable to winning 2-0 at Minnesota on Thursday night, flying to Columbus and arriving at 2:30 a.m.
They had lots of energy in the first period, but the Blue Jackets skated past them after that.
"We took over most of the game from that point on," Johansen said of Shattenkirk's goal.
St. Louis coach Ken Hitchcock said the Blue Jackets did something his team didn't -- relying on defense and goaltending to win.
"We've lived on this fine line for a while," he said. "When you're scoring one goal in a game, you're not going into those hard areas. They scored three goals by going in there."
Columbus will now embark on a six-game trip to Minnesota, Colorado, Anaheim, Los Angeles, San Jose and Dallas before closing the regular season at home on April 27 against Nashville.
"Give some credit to our fans. They seemed like they got louder and louder as the game went on," Atkinson said. "It's a tough stretch we're going to face now."
Bobrovsky, a surprising Vezina Trophy contender after a hot stretch, was solid in the first 10 minutes of each of the first two periods when he was needed the most. He improved to 11-3-5 with a 1.68 goals-against average and .944 save percentage at home this season after never playing in Nationwide Arena before being acquired from Philadelphia last summer.
With the score tied at 1, the Blue Jackets scored two late goals in the second to take control.
Brandon Dubinsky carried the puck behind the net to the right side of the goal line, pivoted, and fired a blind pass to Anisimov, who jammed in the puck.
Then with under 90 seconds left in the period, James Wisniewski's slap shot from the left point hit Nick Foligno at the left doorstep. The puck bounced to Johansen, who was alone in front. He had a vacant net for his fourth goal of the year.
"Coach (Richards) came in at the intermission and said, `This is a man's game tonight," said Johansen, who is just 20 years old. "It was a lot of fun out there. I had a great time."
The sudden goals were a dramatic change for the Blue Jackets, who hadn't mustered more than one in five of their last six meetings with the defensive-minded Blues.
Gaborik scored his 12th of the season, and third since last week's acquisition from the New York Rangers, when he poked in a lead pass from Mark Letestu on a 2 on 1 break 90 seconds into the third period.
The Blue Jackets pulled even on another odd goal.
Adrian Aucoin -- without a goal this season -- fired a slap shot from the right corner of the blue line. It ricocheted off the blade of Matt Calvert's stick and then hit the middle of Atkinson's stick. Allen got a glove on it, but the puck still tumbled in.
Allen protested that Calvert put it in with a high stick, but the goal was confirmed by video review.
"That was a fluky goal," Atkinson said. "The most important thing is that the puck ended up in the back of the net. We'll take it."
Hitchcock, who guided Columbus to its only postseason trip in 2009 and led Dallas to the 1999 Stanley Cup title, failed to earn his 600th career victory. He is 599-380-171. ... Columbus closed out a 2-1 homestand. ... The Blues were trying to win their sixth straight road game for the first time since taking seven in a row from April 3-Nov. 5, 2002. ... Wisniewski played in his 400th game, and Johansen took part in his 100th for the Blue Jackets.
Copyright by STATS LLC and The Associated Press
COLUMBUS, OH - APRIL 12: Brandon Dubinsky #17 of the Columbus Blue Jackets loses his balance while getting his...