The Oilers, who have the NHL's best penalty-kill unit on the road, held Minnesota scoreless in six power plays to snap a seven-game losing streak against Northwest Division opponents. The Wild, who led the league in home wins for much of the season's first three months, have lost three in a row at home.
Lupul scored late in the first, bouncing a shot off Wild defenceman Martin Skoula and past goalie Manny Fernandez. Bergeron scored on a long shot in the second period as the Oilers won a division game for the first time since beating Minnesota 3-1 on Dec. 14.
Wes Walz got Minnesota's goal on its 25th shot, snapping a low shot past Oilers goalie Dwayne Roloson with just less than eight minutes left.
Roloson stopped 28 shots - including a glove save of Skoula's blast with 8.4 seconds to play - to beat his old team for the third time since coming to Edmonton in a trade with Minnesota last March.
Fernandez had 16 saves for the Wild.