Naoba Singh's superb long range strike in the last minute proved to be decisive for the hosts, who rallied back twice to tame the table-toppers whose dream to extend the lead at the top of the table in Shillong remained unfulfilled.
Post the win the Royals are sitting pretty at the second spot in the standings with 26 points from 15 games, while Bagan are still at the top with 28 points from 13 games.
While Balwant Singh gave the visitors the breakthrough in the 8th minute the hosts struck back through Jackichand Singh in the 60th minute.
Earlier, the Royals saw a couple of chances go begging within the first five minutes of play and eventually found themselves trailing as early as the 8th minute of the game when Bagan scored against the run of play.
Also Read
In the next minute Jackichand Singh was found guilty of hitting the side of the nets when a well placed ball found him on the left.
In the 8th minute, Balwant was spotted by a Denson Devadas long ball on the right. The Bagan No 15 then took advantage of a defensive lapse to convert as the defenders were found out of place inside the circle.
Mohun Bagan almost doubled the lead in the 15th minute but the Katsumi Yusa strike at the nets was disallowed for being off side.
Though Bagan had taken the lead, the hosts were relentless in their efforts and created a flurry of chances.