If you are sending soup, I assume you have a food thermos? You could also send chili in it. If you do hotdogs or soydogs, you could also put a hotdog in a thermos and cover it with hot water to keep it warm for lunch.
If he likes cheese, you could make a cheese sandwich, or a slice of lasagna (I'll make it for dinner, then send leftovers to school). You could also make a little pizza - I take a piece of multi-grain pita bread, spread on a little spagghetti sauce and sprinkle with cheese, then broil until the cheese melts. It is cold by lunch time, but my son still loves it.
Chickpeas are also great and high in protein. Is the classroom just nut free, or is it also seed free? If you can use sesame seeds, then you could send regular hummus. If not, you can replace the tahini with yogurt. You can also make a salad similar to tuna salad and use it for a sandwich spread.
Soybeans are high in protein as well - you could send a container of edamame.