Jamie O’Hara’s opener for the home side was cancelled out by Ben Watson before the interval after Wayne Hennessey had saved his initial penalty.
But Dave Edwards and Stephen Ward secured Wolves’ first win in nine games and doomed the bottom-placed Latics to an eight successive loss.
Wigan were left to rue striker Hugo Rodallega spurning two gilt-edged chances in the first half.
But Wolves visibly grew in confidence and they retained the support of the crowd in contrast to the abuse aimed at manager Mick McCarthy during the draw with Swansea two weeks ago.
Wolves were the first to threaten and Edwards made a good run in behind lone striker Kevin Doyle and forced Ali Al Habsi to parry away to his left.
The home side looked to have strong claims for a penalty after five minutes when Al Habsi appeared to catch the feet of Stephen Hunt as he took the ball past him.
Hunt never went to ground and referee Lee Probert waved play on despite the protests of the Wolves players.
Edwards again threatened danger when he got on the end of a Hunt centre but his header was directed just wide.
An error by Wolves skipper Roger Johnson almost proved costly and it needed an important tackle from Christophe Berra to deny Di Santo.
Mohamed Diame robbed Adlene Guedioura in possession and teed up Rodallega in space but he failed to make proper contact on his shot which did not test Wayne Hennessey.
Antolin Alcaraz became the first player to be yellow carded after 26 minutes for a challenge on Doyle.
Wolves had a let-off when Di Santo robbed Richard Stearman and his floated centre found Rodallega unmarked but, from eight yards out, he poked the ball wide.
It was a costly let-off as 30 seconds later O’Hara put Wolves in front with his third goal in the last four games.
Hennessey’s clearance was flicked on by Guedioura to Doyle and his cross from the by-line was bundled over the line by O’Hara.
But four minutes before half-time Ben Watson levelled for Wigan after Hunt brought down Emmerson Boyce inside the box.
Hennessey saved Watson’s spot-kick but the Latics player was able to convert the rebound.
Wolves responded positively and Al Habsi held on to a Hunt effort with some discomfort.
McCarthy made a half-time change with the out-of-form Guedioura making way for Matt Jarvis.
Hennessey was relieved to see a low shot on the turn from Di Santo curl just past the post.
Doyle sent a teasing low ball across the box although no-one was able to take advantage but after 55 minutes Edwards restored Wolves’ lead.
Henry jinked his way to the by-line before cutting the ball back into the six yard box.
Al Habsi made a fine double save to deny Hunt and O’Hara at close range but Edwards lashed the loose ball into the net.
Martinez made his first change after 63 minutes with Albert Crusat replacing goalscorer Watson.
But two minutes later Ward doubled the home side’s lead.
Edwards and O’Hara had shots blocked from Jarvis’ low centre but Ward made no mistake.
Wolves were now oozing with confidence and Al Habsi produced a superb save to turn aside Berra’s header from O’Hara’s free-kick.
But Wigan were still a threat on the break and Hennessey parried away a low drive by Crusat.
Hennessey tipped a hooked shot from substitute Conor Sammon over the bar and then parried away a close-range header from Gohouri.
O’Hara, who was booked for a challenge on Figueroa, limped out of the action to be replaced by Nenad Milijas.
Diame spurned another chance for the Latics from 12 yards.