Arbroath had Alloa on the back foot inside the first 15 seconds, but Alan Brazil's cross was cleared and Alloa went on to control the rest of the first half.
In the fifth minute the away side nearly took the lead when a strong run by Ross Hamilton ended with a pass to Jose Quitongo, but his cross-shot just eluded Andrew Brown at the back-post.
However, 15 minutes later Alloa broke the deadlock when Richard Walker's cross found the on-rushing Iain Nicolson, whose header found the corner of the net.
Despite passing the ball well for the rest of the first half, Alloa couldn't extend their lead and went into the interval only a goal to the good.
Arbroach were forced into two substitutions at the start of the second half, due to two injuries to Chris McLeod and Iain Diack. Amazingly, their replacements were to win the game for the home side.
After a period of sustained pressure, Arbroath finally equalised when Euan Donaldson's free-kick found Steven Rennie, and his header across goal was nodded in by Jamie Bishop.
The home side weren't finished there though, and 10 minutes later they scored the winner when Kevin McMullen lashed a shot from 20 yards into the top corner.
The win was no more than they deserved, and the three points see Arbroath move out of the relegation zone.