Hughes (376 games) is the fastest player in Canucks history to reach 300 assists, and the third-fastest defenseman in NHL history, behind Bobby Orr (346 games) and Brian Leetch (368).
"It means a lot," Hughes said of the milestone. "I’ve had a lot of great teammates and people that have helped me. I’ve made some great friendships over the years and hopefully we can just keep going the way we’re going."
Brock Boeser, Kiefer Sherwood and Danton Heinen each had a goal and an assist, and Kevin Lankinen made 21 saves for the Canucks (6-2-3), who are 6-1-1 in their past eight games.
"We played a north-south game," Vancouver coach Rick Tocchet said. "I thought there were parts of the second we weren't holding onto pucks, but when we were I thought it really helped our game."
Olen Zellweger scored, and Lukas Dostal made 32 saves for the Ducks (4-6-2), who have lost three in a row (0-2-1).
"They’re a good hockey team," Ducks coach Greg Cronin said of the Canucks. "They moved the puck forward, they advanced it with 60-foot passes and skated off the puck. They just won the track meet."
Zellweger scored a power-play goal from the left point on a wrist shot through traffic to give Anaheim a 1-0 lead at 5:35 of the first period.
"Zelly' was great," Cronin said. "Young kid and he competes, and he's up and down the ice and he's fearless and he's confident. He doesn't care what the score is. He plays to win every shift. That's what I really admire about him."