Some students turning up to school hungry have been spotted stealing toast while others are skipping lunch because they can't afford to eat, researchers found.
Charity Children's Society revealed a teacher found two girls sharing a packed lunch in the school toilets because one had no money for food.
It published a study today, conducted with the Association of Teachers and Lecturers (ATL) and the National Union of Teachers, which revealed that two-thirds of school staff said teachers are providing food or money for meals.
Earlier this year, ATL raised concerns about portion sizes, suggesting young children are being served "very small" school dinners and given limited choice despite paying more for their meals.
According to the Children's Society's figures more than half of the 2.2 million children living in poverty in England miss out on a free school meal each day.
The charity's chief executive Matthew Reed said: "Something is going badly wrong when teachers themselves are having to feed children.
"Every child in poverty should be given a free school meal. Free school meals are key to moving children out of poverty and vital to helping them flourish."
The Child Poverty Action Group said: "There are so many alarm bells ringing now over the devastating hardship that children and families increasingly face because of the government's austerity agenda.
"It's time those who believe in social security as a social and economic good to put aside differences and unite to defend our welfare state."