De tre barnen var på väg till en förskola, tillsammans med en kvinna som jobbar där, när mannen plötsligt knivhögg dem.
Kvinnan, tillsammans med en annan person, lyckades övermanna den misstänkte och höll fast honom tills polisen kom.
Attacken skedde strax efter lunch till distriktet Oerlikon som ligger norr om Zürich centrum.
Alla tre pojkarna fördes till sjukhus för vård, två av dem med lindrigare skador.
Polisen har inte angivit något möjligt motiv till attacken.