Vilardi has seven points (four goals, three assists) in his past four games.
Nikolaj Ehlers, Alex Iafallo and Vladislav Namestnikov each had a goal and an assist, and Connor Hellebuyck made 30 saves for the Jets (18-9-2), who have won won six of seven. Josh Morrissey and Mark Scheifele each had two assists.
Jonathan Drouin and Jack Johnson scored, and Ivan Prosvetov made 20 saves for the Avalanche (18-10-2), who have lost six of nine (3-4-2). Nathan MacKinnon had two assists and extended his point streak to 14 games (23 points; six goals, 17 assists).
Colorado defenseman Cale Makar was scratched with a lower-body injury.
Vilardi gave Winnipeg a 1-0 lead at 13:56 of the first period from below the left circle when he took Scheifele’s backhand pass from his skate to his stick and scored against a sprawling Prosvetov.
Namestnikov made it 2-0 on the power play at 15:38 with a one-timer from the slot.
Iafallo extended it to 3-0 at 8:43 of the second period, scoring with a quick backhand from the slot after intercepting Caleb Jones’ pass from behind the net.
Drouin cut it to 3-1 on the power play at 2:02 of the third period. He scored at the left side of the net after Mikko Rantanen’s point shot caromed off the end boards.
Vilardi made it 4-1 at 3:40 with his second of the game, gathering a rebound off Prosvetov’s pads and tucking in a backhand.
Nino Niederreiter extended the lead to 5-1 at 8:48 with a one-timer from the right circle.
Johnson cut it to 5-2 at 10:41 from the high slot.
Ehlers scored into an empty net at 17:57 for the 6-2 final.