The Flames and Canucks are scheduled to play again in Vancouver on Monday and in Calgary on Wednesday.
"We weren't competitive," Flames coach Geoff Ward said. "I thought we were slow everywhere, to be honest with you. The game is fair. We got what we deserved tonight. We got outworked, outskated, outcompeted. So usually when that happens, you don't get the result you want."
The Canucks outshot the Flames 20-4 in the first period and were ahead 30-7 when Hughes scored to put Vancouver ahead 1-0 at 9:27 on the second. Hughes stepped in front of Johnny Gaudreau to intercept a pass in the Calgary zone and create a 2-on-1 with Elias Pettersson, faking a pass before shooting.
Hughes leads NHL defensemen with 18 points (two goals, 16 assists) in 18 games.
"We're just trying to have fun as a group again," Hughes said. "I think it's been helping. We were making plays today, we've been making plays the last couple of games. You can see it. We're playing in the [offensive] zone a lot more, and defensively, we're paying more attention to that."
It was Vancouver's first lead in seven games, but it didn't last long.
Bennett tied it 1-1 at 10:42, taking a lateral pass from Gaudreau and taking advantage of a leaping screen by Sean Monahan to score on a shot from the high slot.
"We found a way to tie the game, but you can't turn over the puck as many times as we all did," Giordano said.