The Goans won via a late penalty that was converted by Carlos Hernandez in the round 16 encounter at the Cooperage stadium.
Right at the start, Dempo's Joy Ferrao fired at the goal from just outside the box, but his effort went wide.
In the 14th minute, it was the away side that threatened again. Hernandes laid the ball for Lenny Rodrigues on the edge of the area whose powerful effort went just over the bar.
Two minutes later, a cross from Mumbai's left flank just evaded Josimar but fell to Rafi at the far post. He controlled it and had a shot but it took a deflection and went wide for a corner.
Also Read
In the 39th minute, the best chance of the half fell to the visitors. Jewel Raja got away from his marker on the right flank and played the ball forward for the overlapping Amiri whose cross was directed over by Hernandes.
Chances were few and far between as the first half drew to a close with the scores level at 0-0.
The second period got off to a slow start and it took until the 57th minute for Hernandes to let one fly from a range.
Five minutes later, Josimar flicked in a header from a long throw-in which substitute Pradeep Mohanraj headed towards goal, only for Lenny to clear it off the line.
Hernandes had another shot from range in the 86th minute but it went straight to the keeper.
Dempo were awarded a soft penalty in injury time for a foul on Hernandes. The midfielder stepped up and converted from the spot to give his side the lead as they picked up all three points.