The game was locked at 2-2 in the second period before Marc Pouliot and Sam Gagner found the net to ensure the Oilers ended a run of 13 straight losses, one shy of Edmonton's longest stretch without a win set in 1993.
"It hasn't been easy and it was certainly not something I expected to happen to this hockey team," Oilers coach Pat Quinn told reporters.
"We've had some rough spots in a lot of these games and haven't held up. We had a couple of rough stretches again tonight but we bent and came back tonight. It's something we have to keep building on."
Jussi Jokinen tied the contest for the Hurricanes at 10:49 in the second before the Oilers regained control to win for the first time this year.
Edmonton (17-31-6) have the worst record in the NHL but moved within five points of Carolina (19-29-7). Gagner provided another strong performance for the Oilers, his power play goal at 17:05 in the second was his fifth in six games.
Oiler's goalie Jeff Deslauriers recorded 33 saves, including 15 in the third when the Canes turned up the pressure, while his opposite number Cam Ward managed 23 in the loss.
"It wasn't a pretty game to watch from either side," said Carolina coach Paul Maurice. "Cam Ward has really been the difference for us the last two weeks but he wasn't at his 'A' game best tonight."
The game was a rematch of the 2006 Stanley Cup Final when the Hurricanes captured the best-of-seven series 4-3, but this season neither team is likely to make the postseason.
Carolina had a four-game winning streak snapped but will still hope to put together a run reminiscent of last year, when they won 24 of their final 36 games and advanced to the conference finals.
(Writing by Jahmal Corner in Los Angeles; editing by Nick Mulvenney)