Iran had led through Abolfazl Zamani’s goal on 31 minutes, but Greg Lincoln’s side fought back after the break thanks to the contribution of two of City’s U17 stars.
First, Matty Warhurst assisted Chelsea’s Reiss-Alexander Russell-Denny’s equaliser on 63 minutes with a long range effort making it 1-1.
Then, as the game moved towards added time, Ndala grabbed a last-gasp winner after Iran goalkeeper Arsha Shakouri failed to clear the ball, giving England a crucial victory at the Jakarta International Stadium.
Skipper Lakyle Samuel impressed in defence and played the full 90 minutes, with City team-mate Justin Oboavwoduo coming on as a sub on 59 minutes.
England top Group C having won both their opening matches in the tournament, being hosted by Indonesia.
Next up are Brazil, who lost 3-2 to Iran in their first game but beat New Caledonia 9-0 this afternoon.
England need a point to guarantee progression to the knockout stages but could even lose against Brazil and still progress.