The children were rushed to hospital after eating their morning porridge at the kindergarten in Jiaozuo city, Henan province, state media reported.
Preliminary investigations revealed the food contained high levels of sodium nitrite.
Police said a motive for the suspected poisoning was not yet clear.
However, Chinese media quoted police sources as saying the teacher had wanted to take revenge on a colleague.
The children began vomiting and fainting after eating their breakfast at the kindergarten last Wednesday, the Beijing News said. Police only reported the incident on Monday.
One parent said he was alerted by the school and arrived at hospital to find doctors had pumped his child’s stomach.
One child is still seriously ill and seven others are being treated in hospital, state run Xinhua news agency said. The other 15 were discharged.
According to local media, the school has been temporarily closed and the children distributed to other kindergartens.
Sodium nitrite is often used as a food additive for curing meat but can be toxic in high amounts.