Callum McManaman struck 10 minutes from time to see off West Brom and keep Wigan's hopes of another great escape alive.
- Related Content
The Latics twice came from behind before McManaman, who scored his first Barclays Premier League goal against Tottenham last weekend, swept home from close range following Shaun Maloney's superb run.
Shane Long and Gareth McAuley put West Brom ahead in the 29th and 50th minutes, only for Arouna Kone and James McArthur - with his first touch - the drag the visitors back into it.
Wigan goalkeeper Joel Robles also played an important role, saving a Dorrans piledriver in the 89th minute.
Visiting boss Roberto Martinez made two changes to his side, with Ronnie Stam and Ben Watson coming in for McArthur and Maynor Figueroa, the latter having been ruled out for the rest of the season.
The selection placed significant trust in Watson, who was making his first appearance since breaking his leg in November.
In the opposing side, Markus Rosenberg was handed a rare start in place of the suspended Marc-Antoine Fortune.
Maloney was the first to get a shot away, finding room to shoot in the third minute but producing a wild and wayward effort.
The hosts were gifted a chance from nothing in the 10th minute when Watson's handball handed them a promising free-kick, but Dorrans shot straight at Joel.
Another mistake, this time a weak header from Stam, played in Romelu Lukaku, whose dipping volley did not worry the keeper.
The hosts set about imposing themselves on the game as Wigan dropped deeper, with Watson making a couple of brave blocks to keep the Baggies out and Lukaku making a nuisance of himself.
Kone was seeing less of the ball up front for the Latics but almost caught Ben Foster off guard with a skiddy long-range effort in the 19th minute.
Ten minutes later West Brom took a deserved lead.
Claudio Yacob kicked things off with a tackle deep in his own half and Lukaku picked out Rosenberg's run with a wonderfully measured pass into the right channel.
The Swede easily outstripped Watson and his low ball across goal left Long with a simple close-range finish.
Maloney went close with a free-kick in the 37th minute and the equaliser arrived two minutes later.
It was a straightforward goal, Maloney finding Jean Beausejour on the left flank and Kone beating Jonas Olsson to nod home the Chilean's cross at the far post.
West Brom were somewhat becalmed after that, with Wigan doing more to grab a second before the break.McManaman was involved twice, first shooting high and wide after making room for himself at the edge of the area and then just failing to take advantage of Watson's improvised free-kick in added time.
Steve Clarke's side had more energy after the break and restored their lead five minutes into the second half.
McAuley was the scorer, rising to head Dorrans' free-kick home after Kone made only a half-hearted attempt to track his run.
Martinez made a double substitution in the 57th minute, Roman Golobart and McArthur on for Stam and Jordi Gomez.
The change took a matter of seconds to take effect, McArthur diving to head home Maloney's cross at full stretch for a dramatic first touch.
The sight of wantaway striker Peter Odemwingie warming up drew some colourful chants from the home support, with Clarke instead introducing Jerome Thomas and James Morrison.
A loose back-pass from Olsson nearly played in Kone but Foster had just enough time to pick up possession.
Joel was called into action at the other end with 20 minutes remaining, the advancing Billy Jones seeing his shot saved at the near post.
Wigan lost Beausejour to injury in the 74th minute but they were soon celebrating when McManaman and Maloney combined to put the visitors ahead for the first time.
Maloney, somewhat inevitably, was the instigator, charging down the left wing and beating two men before pulling the ball back from the byline.
The finish was a simple one for McManaman but the effect could yet be huge on their season.
Dorrans almost spoiled Wigan's day with a fierce 30-yard strike in the 89th minute but Joel responded with a fine save.
A late scramble saw McArthur head the ball off the goal-line as the visitors clung on.