After a barren first half, Bagan, who enjoyed numerical advantage in the second half after Sporting's striker Dawson Fernandes was sent off for his second bookable offence, scored through Odafe (52nd, 82nd, 90th) and Tolgay Ozbey (73rd, 80th) while Kalu Ogba pulled one back for Sporting in the 76th minute.
The win takes Bagan's tally to 21 points from 19 matches while Sporting remained on 30 from 23 games.
They came close to scoring in the 18th minute when Pratemesh Shirodkar's left-footer went just above the bar after Stephene's initial shot from inside the visitors' box was blocked by the keeper.
However, Sporting received a setback when their striker Fernandes was sent off by referee A Shekar in the 39th minute after the striker handled the ball. That changed the course of the match as Bagan scored five times in the second half.
More From This Section
Syed Nabi's cross was handled by defender Mathew Gonsalves inside the box and the resultant penalty was converted by Odafe.
Bagan increased the lead in the 73th minute when Tolgay slotted the ball past Keeper Bruno off a pass from Odafe.
The home team then came up with a counter move and was awarded a penalty after Nirmal Chhetri brought down Jovel Martin inside the box. Kalu Ogba, who took the spot kick, converted it.
Bagan then struck twice in a span of two minutes to end Sporting's challenge.
Two minutes later, Odafe scored his second goal after he was fed by Quinto Jacobs. With few minutes remaining, Odafe scored his third to end the demolition.