Nathan Gerbe scored a first-period power-play goal and Jeff Skinner had an even-strength score in the second as the Canes lead 2-1 after two.
The Canes had plenty of jump to start the game and scored the first goal of the game, but it was 1-1 after the first period.
Both the Canes and Blues scored on power plays in the first. Nathan Gerbe had the Canes' goal and David Backes answered for the Blues.
Gerbe scored at 3:46 of the first when defenseman Andrej Sekera found him in the right circle with a sharp cross-ice. Gerbe's one-timer beat Blues goalie Jaroslav Halak for his 12th goal of the season and was only the Canes' third power-play goal in 10 games.
Never miss a local story.
It was the third power-play goal of the season for Gerbe, a career high for the 5-foot-5 winger.
The Canes continued to apply offensive pressure on Halak, taking a 9-3 edge in shots, but couldn't finish around the net. And the Blues tied it after Canes defenseman Ron Hainsey was called for hooking at 9:11 of the first.
The Blues' T.J. Oshie won a battle along the boards, Derek Roy centered a pass and Backes ripped a shot past Canes goalie Anton Khudobin. It took the Blues just 12 seconds of power-play time to tie it as Backes scored his 18th of the season.
The Canes, who lost 4-2 in St. Louis on Nov. 16, closed the first period with a 12-10 shooting edge.
Skinner had scored one goal in the past nine games before Friday after a torrid tear. But he rifled a shot under Halak's glove at 1:51 of the second after a faceoff win by Jordan Staal in the Blues' zone.
Skinner's 23rd goal of the season pushed the Canes ahead 2-1, and they appeared to play with extra emotion after Alex Semin was called for boarding Blues defenseman Alex Pietrangelo later in the period.
It was Pietrangelo's hit to the head in the Nov. 16 game that gave Semin a concussion and sidelined him for 12 games. Semin's penalty was loudly booed by Canes fans, and his teammates lifted their game to another level after the penalty and buzzed around Halak.