Horvat made it 1-0 at 3:32 of the first period on a one-timer after goalie Mikhail Berdin (30 saves) gave away the puck to Pearson behind his net. Horvat then had the secondary assist on Pearson's goal that made it 3-1 at 12:35 of the third period.
Jeff Malott and Kristian Reichel each had a goal and an assist for Winnipeg, which is 1-2-1 in the preseason.
Jaroslav Halak started for Vancouver (2-2-0) and made nine saves before being replaced at the start of the third period by Michael Dipietro, who allowed one goal on eight shots.
Canucks forward Elias Pettersson (three years, $22 million) and defenseman Quinn Hughes (six years, $47.1 million) did not play after each signed a contract earlier in the day.