Daniel Sedin scored his 300th career goal early in the second period and then assisted on a power-play goal by Jason Garrison, as Vancouver scored four times in a span of 8:51 to beat the Senators 5-2.
Garrison and David Booth also had a goal and an assist, and Henrik Sedin had two assists. Dale Weise scored the Canucks' fourth goal on Craig Anderson. Mike Santorelli scored against Robin Lehner in the third period.
"I think we did a good job of just moving on after the first," Henrik Sedin said. "We came in here, we had a good talk, and we came out really strong in the second."
Vancouver had scored two goals or fewer in seven of its previous eight games.
"I don't know what to expect," Canucks coach John Tortorella said. "You just never know how it works. Quite honestly, I thought we have played better games than [Thursday's] game, and we end up winning 5-2. That's why I always say, 'You need to coach how you're playing.'"
Roberto Luongo made 37 saves for Vancouver, which won for the second time in nine games (2-4-3) to begin a four-game road trip.
"This was a great pushback by us after a first period where obviously we were down by one," Luongo said. "The guys stuck with it and came back strong."
Daniel Sedin is the third player in franchise history to reach the 300-goal milestone. He trails Markus Naslund, Vancouver's all-time leader with 346 goals, and Trevor Linden (318).
"During the middle of the season you don't think too much about it, but I'm sure after the season or looking back it will be different," Daniel Sedin said. "But right now we're trying to win games, and it was nice to help the team today, that's for sure."
"We come out, and I thought we did a good job in the first, and they had a couple of chances, and in the second they get one, and they get two, they get three ... it's one of those things where we've got to be better in that prime shooting area," MacArthur said. "We've got to make guys pay the price to go in there."
Anderson stopped 11 of 15 shots before he was pulled at 9:40 of the second. He was replaced at the first stoppage in play after Weise's goal by Lehner, who made 12 saves.
"There are 18 other guys that are out there playing," Senators coach Paul MacLean said. "They're giving up lots of things too. By the time it gets to him, there's a lot of things going on, so it's way too easy just to stand there and say that it's the goalie's fault, because it's not. It's everybody's fault. Everybody is to blame and we have to find a way together to fix it."
It was the first of two meetings between the two Canadian teams this year. The Canucks will host Ottawa on March 2 at BC Place in the Tim Hortons 2014 Heritage Classic.
The Senators overcame a two-goal deficit for a 6-4 win against the Washington Capitals on Wednesday to return from a 2-1-0 road trip. They welcome the Detroit Red Wings on Sunday in former captain Daniel Alfredsson's first game back in Ottawa.
The Canucks continue their trip Saturday against the New York Rangers. It's the first regular-season game between the teams since Tortorella was fired by New York and Rangers coach Alain Vigneault was let go by the Canucks.
"We're playing the New York Rangers," Daniel Sedin said. "I know our former coach is over there, but once you get into the game you're not going to think too much about it. He was with us for seven years and he meant a lot to this franchise, so it's going to be fun seeing him again but once the game gets going we want the two points, and so does he."
Luongo was in pain after he was struck high on the left side of his body by Kyle Turris' one-timer from the right side at the 16-second mark of the second period. Canucks trainer Mike Burnstein came off the bench to attend to Luongo, who remained in the game.
"It hit off my chin but then ricocheted off my trap [trapezius muscle]," Luongo said. "It kept rising and I couldn't defend myself. It hit me on the meat of the muscle, so it's a bit of a stinger, but nothing serious."
Daniel Sedin took Henrik's pass from behind the net and beat Anderson with a low shot inside the left post for his milestone goal 31 seconds into the second period, the first of three Vancouver goals in a span of 3:35.
"It could have gone either way there," Daniel Sedin said. "They score on that one, it's 2-0, and we come back and score to tie it up. That was a big shift for us."
Booth scored his second goal of the season 45 seconds later to put the Canucks up 2-1 at 1:16. Garrison scored a power-play goal at 4:06 to increase the lead to 3-1. Weise made it 4-1 at 9:22.
Senators defenseman Jared Cowen was left out of the lineup for the first time this season.