Ndoye struck the match-winner in the 90th minute after FC Goa's Rafael Coelho (33rd minute) had cancelled out Pune side's 25th minute goal by Arata Izumi.
As usual, FC Goa dominated the second half and they had chances to take the lead after the two sides were locked 1-1 at the breather, but Zico's boys failed to put the ball into the opposition goal.
The visitors, who were back on the wall, capitalised on a rare chance they had in the second session through Ndoye to secure the winner.
In the first half, the visitors had more control and better ball possession. Their defence looked solid and thwarted the moves whenever the home team tried to penetrate into the box.
More From This Section
Man of the match, Jonathan Lucca, who was the driving force for the visitors, caught the home team napping on a couple of occasions. He fired a shot from the top of the box from a quick build up and the ball hit the post after brushing the hands of diving keeper Laxmikant Kattimani and the rebound came to Arata Izumi who slotted home in the 25th minute.
Zico made a change in second half, bringing in midfielder Romeo Fernandes in place of defender Fulgaanco Cardozo and the move paid off as the home team controlled the midfield.
Rafael Coelho had a good chance to put his team ahead but his shot went straight into the hands of Pune keeper Edel Bete in the 54th minute.
Goa did the bulk of attacking but it was Pune who scored the winner from a counter attack in the 90th minute to secure their first win.
Lucca split the defence with a through pass to Ndoye who got the better of Lucio and then essayed a firm left-footer that found the far corner of the net.