Playing in front of a frenzy 40,000-odd home support at the Vivekananda Yuba Bharati Krirangan, both the teams were locked 1-1 at extra time.
Substitute goalkeeper Naseem Akhtar, who came in place of an injured Luis Barreto in the extra time in a fine move by Mohammedan Sporting coach Sanjoy Sen, thwarted Didarul Haque's spotkick for a 4-3 win in the shootout.
Down 0-1 in the 28th minute after Sony Norde's curling freekick, Mohammedan Sporting made a comeback at the stroke of halftime when Mehrajuddin Wadoo made it 1-1 in the 45+1st minute to spark a celebration.
Having lost Norde in the regulation, it was a big setback for Dhanmondi as Mohammedan Sporting slowly came back into the game.
More From This Section
Both the teams wasted opportunities in the extra time to take the match to the shootout where Khanthang Paite, Manish Maithani, Nirmal Chettri and Wadoo scored for Mohammedan while Joshimar hit the crosspiece.
For Dhanmondi, Wedson Anselme, Nasir Uddin Chowdhury, Mohammad Yasin Khan converted their chances while Ali Amisu shot away.
Chasing history to become the first Bangladeshi club to win the 118-year-old title, Dhanmondi looked threatening with their striking trio of Emeka Darlington, Wedson Anselme and Sony Norde in fine form, while Mohammedan Sporting were let down by their disoriented attack.