The Canucks twice rallied to tie the game, but could never take and lead and lost their third in a row.
Setoguchi also scored in the first period 62 seconds after a goal by Zach Bogosian, thus giving the Jets a 2-0 advantage.
Winnipeg again went in front on Michael Frolik's goal in the middle stanza, but Vancouver tied it once more midway through the third on a slap shot from Jason Garrison.
Setoguchi's game-winner gave him his first multi-goal game since the second contest of the season, when he scored twice in a win over Los Angeles.
Ondrej Pavelec earned the victory by making 27 saves. Lack allowed four goals on 34 shots.