FC Pune City were down by a Kean Lewis (44th minute) goal in the first session but turned the match around in the second session with goals from Anibal Rodriguez (55th and 63rd), Mohammed Sissoko (62nd) and Lenny Rodrigues (90th).
Delhi Dynamos remained in contention with an own goal from Eduardo Ferreira (79th) and a goal from Malsawmzuala (90th) till the very end at the Shree Shiv Chhatrapati Sports Complex Stadium.
The victory took Pune City to the fourth spot with 15 points from 11 matches, just two less than Delhi Dynamos who could have sealed their place in the play-offs with three points here.
Chennaiyin FC and Atletico de Kolkata, both out of the top four now, can move on top with victories on Saturday, while NorthEast United FC (11 points) and FC Goa (11 points) are still in the competition with three matches left to be played.
In an exciting contest, Delhi goalkeeper Soren Porei was the hero for his team in the first 45 minutes after stopping a penalty from Mohammed Sissoko and blocking Momar Ndoye twice in a one-on-one situation.
Pune City had better control and should have taken the lead when Anibal was brought down inside the danger zone and the referee awarded a penalty.
But marquee player Sissoko ended up with a poor penalty which Porei saved by guessing correctly and diving to his left.
The miss proved costly for Pune as they conceded a goal close to half time. Marcelinho's back-heel from just outside the box released Emerson Gomes de Moura (Memo) whose ball inside the box saw Kean Lewis find space and time to slot it inside the net in the 44th minute.
The goal was the 400th in the ISL and gave Delhi confidence that they can qualify for the semi-finals with three matches in hand but Pune struck in the 55th minute.
A free kick from Jonatan Lucca found Anibal who rose high over two defenders and headed it into the far post.
Seven minutes lateDelhi Dynamos Vs FC Pune City (Image courtesy: ISL Twitter handle)r, Pune City were ahead when Sissoko made amends for his poor penalty and slotted home from inside the box from another free kick.
Pune appeared to wrap up the game only a minute later as Anibal capitalised on a blunder from Delhi Dynamos.
Goalkeeper Porei threw the ball away to Ruben Gonzalez who could not control it. Anibal picked it up and beat the goalkeeper at the near post with a powerful strike.
Florent Malouda had a hand in the second goal for Delhi as his shot across the goal hit defender Eduardo and sailed into the goal in the 79th minute.
Any chance of a comeback was snuffed out by Pune midfielder Lenny Rodrigues when he finished a pass from Lucca in the last minute of play.
Malsawmzuala did manage to pull another goal back for Delhi in added time but there was no more time for the equalizer as the visitors lost 3-4.