Mrazek made 25 saves for Carolina (19-11-2), which had won three straight.
"We hit a hot goalie. He was the difference in the game," Hurricanes coach Rod Brind'Amour said. "You can sugarcoat it any way, that was the difference in the hockey game. He was phenomenal. So you tip your hat and you move on."
Mrazek stopped Bo Horvat on a breakaway 4:00 into the first period, and Markstrom stopped Julien Gauthier's breakaway attempt at 9:09.
The Hurricanes outshot the Canucks 22-7 in the second period, but Markstrom made a glove save on a one-timer by Dougie Hamilton at 3:56 before stopping him again in the slot on a power play at 8:39.
"It was just a matter of time before we were going to score. That's what it kind of felt like from my end," Brind'Amour said. "But that was a pretty good goalie performance, one of the better ones we've seen."
Hurricanes forward Sebastian Aho appeared to score on a delayed penalty at 7:53 of the second period, but the whistle was blown because a Canucks player touched the puck before it got to Aho.
"We got one that should have counted," Brind'Amour said. "… I think they jumped the gun there blowing the whistle and it's unfortunate, cost us a point."