Vancouver (13-9-5) came in having lost seven of its past eight games, but a solid effort finally put an end to the losing streak.
With the loss the Senators, who beat the Washington Capitals 6-4 on Wednesday, are now 0-4-1 when playing back-to-back nights.
Vancouver took control of the game scoring four goals in the second period as 17,931 looked on.
Daniel Sedin tied the game 1-1 just 31 seconds into the second period as he beat Anderson far side.
Just 45 seconds later the Canucks took the lead on Booth's second goal of the season as he beat Anderson cleanly.
The Canucks then went on to make it 3-1 with a power-play goal as Garrison was left all alone in front.
Ottawa has allowed at least one power-play goal in each of the last seven games.
Midway through the period Weise picked up a Garrison rebound and beat a sprawled Anderson.
Less than 20 seconds after Weise's goal Anderson's night came to an end.
The Senators managed to cut the lead in half as Zibanejad made it 4-2 with just over one minute remaining in the period.
The Canucks made it 5-2 early in the third as Santorelli took advantage of a Jason Spezza giveaway behind the Ottawa net. Santorelli grabbed the puck, shot and then picked up his own rebound to beat Lehner between the legs.
Strangely enough Ottawa got off to the start it wanted as MacArthur picked up his 100th career goal midway through the first to give the home team a 1-0 lead, but it was never able to capitalize on the momentum.
With the win Vancouver continues to dominate the Senators. Vancouver has won six straight and 10 of the past 11 meetings between the clubs. Ottawa has lost three in a row and six of its last seven home meetings against the Canucks.
Notes: D Patrick Wiercioch, D Jared Cowen and LW Matt Kassian were healthy scratches for the Senators. … The Canucks were without C Jordan Schroeder who is expected to miss another month with a sprained ankle. C Jeremy Welsh, C Zac Dalpe and D Andrew Alberts were healthy scratches.