The victory lifted Edmonton's record to 3-9, leaving the 2-10 Bombers in the CFL basement in front of 28,859 fans at Investors Group Field who booed at the end of the game.
Winnipeg had led 27-11 early in the third quarter before Edmonton started chipping away to force overtime after a wild tipped pass late in regulation.
After being down 27-14 going into the fourth quarter, Eskimos backup quarterback Kerry Joseph made it 27-24 with 5:48 left when he plunged in for a one-yard TD.
Winnipeg's next possession included an Edmonton penalty that kept a drive alive, but Bombers kicker Sandro DeAngelis went wide left on a 35-yard field-goal attempt and Edmonton cornerback Joe Burnett brought it out to the one-yard line.
Edmonton quarterback Mike Reilly almost had a pass picked off and then missed on another and the Eskimos had to punt.
Winnipeg got possession at midfield, but ended up punting with 1:29 left.
The Eskimos started from the own 29-yard line and a flukey play kept the drive alive.
Reilly started scrambling and threw a long pass that was tipped off Bomber defensive back Demond Washington into the hands of Eskimos receiver Fred Stamps for a 52-yard gain.
Edmonton was called for an illegal block and the ball moved back to Winnipeg's 40-yard line. Reilly then completed a pass to receiver Shamawd Chambers and got to the 10-yard line.
Reilly went back to a wide-open Chambers in the end zone, but he dropped the ball and Edmonton settled for a 17-yard field goal from Hugh O'Neill to send the game into overtime tied 27-27.
Chambers finished the night making the two-point convert catch on Charles' overtime TD.
Edmonton's overtime possession was also helped when Bombers safety Cauchy Muamba was called for a face mask.
The Eskimos had defeated the Bombers 25-7 last weekend.
Winnipeg backup QB Jason Boltus ran one yard for a TD, while slotback Terrence Edwards caught his first TD of the season on a 12-yard pass from starter Max Hall after an Edmonton fumble.
Jovon Johnson, playing safety for the first time since November 2011 instead of his usual cornerback spot, ran 49 yards for his TD 32 seconds into the third quarter to make the score 27-11.
DeAngelis added field goals from 27 and 32 yards in front of 28,859 fans at Investors Group Field.
Adarius Bowman had a 12-yard TD reception for the Eskimos. O'Neill also made field goals from 22, 35 and 46 yards, but went wide left from 17 yards out for a single.
The Bombers led 14-0 after the first quarter and mounted a 20-0 lead until O' Neill connected on his field goal at 8:07 of the second quarter.
Edmonton took advantage of a turnover after linebacker JC Sherritt Hall intercepted Hall, which led to Bowman's TD and a 20-11 halftime score.
In the first drive of the game, Hall marched the Bombers 78 yards on 10 plays, ending with Boltus' one-yard TD. Receiver Rory Kohlert accounted for 50 of those yards, including a pair of 22-yard catches.
Edmonton's first drive ended with a fumble when Bombers defensive end Alex Hall forced Reilly to fumble and Bryant Turner recovered on Edmonton's 20-yard line.
Edwards then caught an eight-yard pass and followed up with his 12-yard TD grab at 12:10 to make it 14-0.
DeAngelis added his 27-yarder 17 seconds into the second quarter and put through the 32-yarder four minutes later.
Stamps looked like he might catch his career-high 10th TD of the season, but he was denied.
After completing a 27-yard pass to Stamps, Reilly threw to him again in the end zone, but Washington knocked the ball away.
Reilly was then sacked by defensive end Kenny Mainor and the Eskimos settled for O'Neill's field goal to make it 20-3.
Aided by an unnecessary roughness call on Winnipeg defensive end Greg Peach, Edmonton knocked on the end-zone door again, but Reilly felt pressure from the Bombers' defence and couldn't connect with Bowman in the end zone.
O'Neill then wide left on a 17-yard field-goal attempt to inch the gap 20-4 at 12:34 of the second quarter.
Hall had completed 12-of-18 passes for 173 yards at halftime. Reilly was also 12-of-18 for 159 yards.
Winnipeg scored 32 seconds into the third quarter after Stamps caught a pass, but Bombers defensive back Alex Suber forced a fumble and Johnson picked up the ball and went in to score for the 27-11 lead.
Hall was intercepted by Eric Samuels late in the third quarter and O'Neill booted his 35-yarder to make it 27-14.
O'Neill was good on a 46-yard attempt 1:20 into the fourth quarter.
The teams then traded turnovers. Receiver Clarence Denmark fumbled for Winnipeg, but Edmonton's possession was cut short when running back Hugh Charles fumbled.
Winnipeg ended up having to punt and kept the score 27-17 at the 9:59 mark of the fourth.