Henrik Sedin also scored and Cory Schneider, replacing an injured Roberto Luongo for a second straight game, made 28 saves for the Canucks.
Colin Greening scored and surprise starter Alex Auld, who got the nod in favor of injured Craig Anderson, made 25 saves as Ottawa fell to 3-2-0 on its season-high six-game road trip.
Higgins went hard to the net in the extra session and deflected a Dan Hamhuis shot behind a startled Auld for his seventh goal of the season.
Less than a minute prior to Higgins' winner, Erik Condra snuck behind the Vancouver defense and tipped a pass on goal, but Schneider was in position for the save.
With the score 1-1 midway through the third period, Schneider did the splits and robbed Milan Michalek with a glove save on a breakaway after Michalek executed a pretty backhand deke.
The Senators had tied the game 3:32 into the third, when Greening eluded Aaron Rome in front of Vancouver's goal and one-timed a Jason Spezza pass behind Schneider.
Schneider was strong all game in relief of Luongo, who suffered an undisclosed upper-body injury during last Sunday's victory over the New York Islanders.
With Sergei Gonchar in the penalty box for tripping, Henrik Sedin took a pass from twin brother Daniel Sedin and one-timed a shot past Auld for his seventh of the season.
The puck caromed off Ottawa forward Jesse Winchester's stick before it slipped through Auld, who played for Vancouver from 2002-06.
Auld, who has struggled this season, made a surprise start after Anderson left the morning skate with neck stiffness. Anderson was well enough to serve as backup and is day-to-day.
Auld, who entered with a 0-3-0 record and an .823 save percentage, made his best save with Vancouver leading 1-0 midway through the second period, moving from his right to his left on a 2-on-1 and robbing Ryan Kesler with a glove save.
Seven minutes later, with Vancouver on another short-handed 2-on-1, he used his six-foot-four frame to block Higgins' blocker-side attempt.
Notes: The victory was Alain Vigneault's 246th with the Canucks, tying him with Marc Crawford on the franchise's all-time wins list. Vigneault accomplished the feat in 430 games, 99 fewer than Crawford. ... Ottawa's last win in Vancouver came in March 2004. ... Canucks D Andrew Alberts was inserted into the lineup for Keith Ballard, who hurt his back in Wednesday's 5-1 loss to Chicago. Alberts looked rusty and had two minor penalties, including a boarding call that could have been a major.