Winnipeg (24-10-2) has won 11 of its past 13 games and eight in a row against the Canucks. Brossoit is 8-1-1 with a .939 save percentage this season, which made it easy for coach Paul Maurice to give his backup the start in his hometown.
"This one was on the schedule for him for two, three weeks and (goaltending coach) Wade Flaherty was pushing for this for him because it was home," Maurice said. "He's played so well, he's earned the right to play in front of family."
Markstrom made 23 saves for the Canucks (17-18-4), who lost for the third time in the past nine games (6-2-1).
"It's never fun losing, especially not when you are outplaying the other team and get a goal scored on you with less than two minutes left," Markstrom said. "We played a really good game. We deserved the win but that's not how it works in this league. It's really frustrating to lose this way."
Brossoit made several tough saves throughout. He threw out his right pad to stuff Elias Pettersson on a rebound in the crease at 11:44 of the first period, and made a couple saves in tight while being outshot 17-7 in the second.
Brossoit made the save on Josh Leivo on a deflection in the slot with eight seconds left in the third to preserve his fifth straight win but said his most memorable save came against Alex Biega in the high slot on an odd-man rush with 1:59 left.
"I got a toe on it or a pad on it and sometimes it's hard to tell if that was a save or not, it just looks like it missed the net, but that's something me and [No. 1 goalie Connor Hellebuyck] joke about," Brossoit said. "You get just a little tiny piece and no one knows and we go down and score. A tiny little piece was all I needed."
Scheifele scored 27 seconds later on the ensuing rush, finishing off a passing play started by Blake Wheeler with his 22nd goal of the season.
"Our goalie was our best player and as usually happens with us, at some point, Wheeler and Scheifele connect and make just a great passing play at the end of the game and win us the game," Maurice said.