Hughes and Ondrej Palat each scored two goals, Dougie Hamilton had three assists and Vitek Vanecek made 26 saves to win his NHL career-high 10th straight game for the Devils (33-13-4), who are 9-1-1 in their past 11.
"I just think we got lucky," New Jersey coach Lindy Ruff said. "I'm not going to sugarcoat anything. They had two or three opportunities and could have won the game. I feel like we got lucky."
Luke Schenn had a goal and an assist, Conor Garland had two assists and Collin Delia made 29 saves for the Canucks (20-26-4), who played the first of a four-game Eastern Conference road trip. Vancouver has won two of four games since Rick Tocchet replaced Bruce Boudreau as coach Jan. 22.
Each team played its first game since Jan. 27.
"I thought we played a pretty darn good game on the road after the break," Canucks forward J.T. Miller said. "We showed a lot of heart, a lot of pride, character as a team. I think that's a really good hockey team over there, and we easily could have quit at 4-1. We had a lot of different guys step up, so I think we'll take this point any day."
Schenn cut it to 4-2 at 15:29 of the second period, scoring on a shot from the right point before Curtis Lazar made it 4-3 at 19:33 on a quick shot from the slot.
Phillip Di Giuseppe tied it 4-4 at 6:02 of the third period with a wrist shot from the right circle.
"When good teams have a 4-1 lead, that thing's not even close to overtime so, first game out of the break, we just got to clean that up," Hughes said. "We just got to play the full 60 minutes. We've been doing it, but tonight was a little bit of an off night. But we came out with the win."