Mumbai City FC edged past FC Goa 6-5 in a tie-breaker to reach their maiden Indian Super League final here on Monday.
They will meet the winners of the match between ATK Mohun Bagan and NorthEast United.
The match was the first ever sudden death of the tournament.
Goa brought on reserve goalkeeper Naveen Kumar while Mumbai raised some eyebrows when they decided to field Phurba Lachenpa in place of skipper and one of the best goalkeepers of the season Amrinder Singh.
But, as it turned out to be, the Sikkimese custodian survived the battle of nerves, helping the Islanders book a place in the final for the first time.
With all to fight for in the second leg, this contest was always going down to the wire.
FC Goa remained in the ascendance with Mumbai failing to register a single shot on target in the entire game. The opening half proved to be a cagey affair with neither side able to assert their dominance.
The shootout initially looked to be headed Mumbai's way after Goa missed their first two penalties. But Mumbai then missed a couple, restoring parity. Finally, after Glan Martins had missed his kick, Rowllin Borges stepped up to drive home the winning penalty and sent his team to the final.