The lunches costing about $3 were taken from the children on Tuesday as they arrived at a pay station after cafeteria workers had given them the food.
Parent Erica Lukes said the action was humiliating and demoralizing for students.
The Salt Lake City School District said the move came after it realized a lot of students at Uintah Elementary owed money for previous lunches.
District spokesman Jason Olsen said cafeteria servers were not able to see who was in debt until lunches had already been given to students in line.
He said the lunches were thrown out because they couldn't be served to another student. Students whose lunches were taken away were given fruit and milk.