Joel Ward and Jason Chimera each have a goal and assist as the Caps lead the Canes 3-1 after two periods.
Ward scored 1:02 into the game for a 1-0 lead Chimera struck in the second period after another strong forechecking shift. The veteran forward walked out of the corner and beat goalie Anton Khudobin for a 2-0 lead.
Jiri Tlusty's shorthanded goal, the Canes' 11th of the season, came on a two-on-one rush off a pass from Jordan Staal and made it 2-1. But the Caps countered late in the second period as Troy Brouwer scored his 24th.
After Canes defenseman Brett Bellemore failed to clear the puck out of the zone, Brouwer was open for a shot from the left circle with 35 seconds left in the period to make it 3-1.
Never miss a local story.
The Canes outshot the Caps 10-8 in the opening period and had their best scoring chance late when Andrei Loktionov got off a shot from the right circle and Riley Nash wristed a shot off the rebound, forcing Braden Holtby to make some scrambling stops.
The Canes opened with a line of Jordan Staal centering Eric Staal and Alex Semin, and Elias Lindholm centering a second line with Jeff Skinner and Tlusty on the wings. Nathan Gerbe was a scratch with an upper-body injury.
Khudobin made a nice glove save on a Mikhail Grabovski shot with five minutes left in the first to keep it a 1-0 game. His pad save late in the second stopped a shot by Ward, but the Caps picked up the Brouwer score with less than a minute to play.
The Canes again played with defenseman Andrej Sekera, who has been sidelined the past four games with a lower body injury.