Wolves 3 (O'Hara 31, Edwards 55, Ward 66)
Wigan Athletic 1 (Watson-pen 41)
Wolves had to work hard but in the end they deserved the three points they took from struggling Wigan who had keeper Ali Al Habsi to thank for restricting the home tally to three.
Mick McCarthy named an unchanged side with Steven Fletcher having recovered from injury named as a substitute.
After just three minutes a Kevin Doyle flick fell to Dave Edwards who hit a shot from the edge of the box that drew a fine diving save from Al Habsi.
Then Wolves had two penalty claims rejected within the space of a few seconds. Stephen Hunt ran onto another Doyle short ball. The midfielder almost went down as he attempted to round Al Habsi but he regained his balance and lifted the ball into the heart of the goalmouth where it was cleared for a corner.
Jamie O'Hara's flag-kick was helped on by to the back post where Antolin Alcaraz appeared to handle. The Wolves players and the fans in the Jack Harris Stand shouted for a spot kick but the referee shook his head.
Edwards was only just wide with a header following a cross from Hunt and then the first major Wigan threat came from Victor Moses whose centre flashed dangerously across the face of Wayne Hennessey's goal.
After 20 minutes, when the home defence failed to clear, Moses slipped a short pass through to Mohamed Diame. He flicked the ball towards goal and it took a desperate challenge from Richard Stearman to deny Di Santo a shooting opportunity.
Adlene Guedioura then lost possession to Diame. He set up Hugo Rodallega who wasted a good chance by shooting tamely at Hennessey. Alcaraz was then booked for a heavy challenge on Doyle.
Christophe Berra had to race across to clear from Di Santo after Wigan broke from a heavy Wolves attack then, Di Santo had played Rodallego clean through, the Columbian prodded the ball the wrong side of the post when he just had the keeper to beat.
The miss proved costly for Wigan as Wolves moved into a 31st minute lead just second later. Credit must go to Doyle for some sublime work on the right before he fired in a low cross that O'Hara rifled into the net (pictured).
Wigan drew level four minutes before the break after Emmerson Boyce was barged off the ball by Hunt in the home area. Hennessey saved Ben Watson's penalty but the loose ball bounced in front of the midfielder who made no mistake.
Al Habsi twice saved from O'Hara as Wolves looked to regain the advantage. The keeper punched away O'Hara's free-kick and did likewise when the former Spurs man smashed the rebound back towards goal.
In first-half stoppage time, Al Habsi failed to hold on to Hunt's low drive but the keeper just managed to claim the ball as O'Hara steamed in.
Half-Time: Wolves 1 Wigan 1
Matt Jarvis replaced Guedioura at the start of the new half but the early chances fell to Wigan with Moses hitting a fierce drive over the near angle, and then Di Santo was a foot wide with a shot on the turn from 18-yards.
On 55 minutes Edwards grabbed Wolves' second goal. Jarvis laid the ball off for Karl Henry and he powered into the area before pulling the back into the six-yard box. Hunt's shot was pushed out by Al Habsi and when the ball fell to O'Hara he was denied by an incredible save from the keeper.
But Al Habsi must have been cursing his luck as Edwards got to the loose ball first and thumped it into the net.
Stearman went on a surging run and was deep in the Wigan half when the ball bounced somewhat unkindly for him. Moses took possession and was advancing towards the Wolves area when he lost out in a challenge from Stearman who had vigorously chased back.
Midway through the half Wolves moved 3-1 to the good. A sweeping crossfield pass from Henry picked out Jarvis who put played a one-two with Stephen Ward who cleverly back heeled the ball back to the winger.
Jarvis hit a low cross that and Edwards ran in but his shot hit a defender. Then O'Hara, once again, saw the keeper pull off another fine save. But Ward made no mistake as he took advantage of the visiting defence's failure to clear their lines by forcing the ball home.
Berra almost got a fourth, and his first for the club, when he got in a powerful header as he ran onto O'Hara's free-kick only for Al Habsi to pull off an incredible save.
Wigan substitute Albert Crusat had an angled drive punched out by Hennessey, then Di Santo beat two men on a run through the middle but his final effort ran straight to the Wolves keeper.
Hunt and O'Hara went into the book for fouls on Boyce and Figueroa respectively, and then Hennessey had to push out an over the shoulder flick from Crusat.
Wolves: Hennessey, Stearman, Ward, Edwards, Berra, Johnson (capt), Guedioura (Jarvis 45), Henry, Doyle, O'Hara (Milijaš 83), Hunt.
Unused subs: Elokobi, Ebanks-Blake, Fletcher, Hammill, De Vries.
Bookings: Hunt (77 - foul), O'Hara (80 - foul).
Wigan: Al Habsi, Gohouri, Alcaraz (capt), Watson (Crusat 65), De Santo, Moses, Jones (McArthur 78), Rodallega (Sammon 78), Diame, Boyce, Figueroa.
Unused subs: McCarthy, Gomez, Pollitt, Lopez.
Booking: Alcaraz (26 - foul).
Referee: L. Probert.
Wolves Academy Under 18s 3 (McAlinden, Kellerman, Kempton) West Bromwich Albion 0