Goals from Eduardo Ferreira (41st minute) and a successful penalty by Anibal Rodriguez (56th) ensured three points for Pune here at the Shree Shiv Chhatrapati Sports Complex Stadium.
ATK striker Iain Hume kept them in the game after converting a penalty in the 69th minute but Pune held on for an important win.
It was their first home win of the tournament ensuring a two-position jump to sixth on the points table with nine points from eight matches.
Pune City were at the bottom of the table with six points prior to this clash but are now placed sixth, above Kerala Blasters (nine points) and FC Goa (seven).
The win was also important for Pune City coach Antonio Habas who was up against his former club. After two successful seasons with Atletico de Kolkata, Habas had switched to Pune City and was under-pressure to deliver for his new employers.
Pune took the field on the back of a wretched run of form that saw them win just one match in the first seven matches.
ATK had the first chance in the match in the eighth minute when the former Portugal striker took a powerful shot which went just wide.
After much probing, Pune City took the lead in the 41st minute through Ferreira.
A few minutes earlier, the Brazilian needed medical attention after clashing with Postiga. He had a cut across his face but continued bravely and headed home Jonatan Lucca's corner to give his team the lead.
Pune City made it 2-0 in the second session after the referee adjudged ATK defender Pritam Kotal to have handled Tato's cross inside the penalty box.
Rodriguez stepped up to take the spot-kick and converted even though ATK goalkeeper Debjit Majumder had managed to get his hand to the ball.
The visitors were thrown a lifeline in the 68th minute when Postiga won a penalty, having being brought down by his Pune's marquee player Mohammed Sissoko.
Hume's penalty was initially saved by Pune goalkeeper Edel Bete, formerly of ATK, but the Canadian pushed in the rebound ball.
Pune then held on to their lead negotiating ATK's goalbound forays.