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.
Edmonton emerged with a 1-0 lead from a first period most notable for players heading to the training room. Four members of the Wild - Keith Carney, Todd White, Mark Parrish and Kurtis Foster - had to be helped from the ice in the first 11 minutes.
Carney returned briefly but his playing time was limited due to back spasms. White and Foster did not play the rest of the game due to lower-body injuries. Parrish, who took Raffi Torres' high stick to the face, returned in the second period.
After Edmonton killed nearly a minute of 5-on-3 power-play time early in the second, Bergeron doubled the lead with a hard shot from the blue-line that caught the lower left corner of the net.
Notes: The Wild assigned Joel Ward to Houston of the AHL. The rookie right wing had played in the team's previous three games without recording a point. Ward has one assist in nine games with Minnesota this season. ... Edmonton defenceman Steve Staios did not travel to Minnesota, missing his fourth consecutive game with the flu and a nagging knee injury.