Thermos do small snack jars that keep food warm for around 4 hours, they work quite well but I have found that filling with boiling water, replacing the lid and leaving for a few minutes (usually when heating food to go into it) keeps the food warmer longer.
It does come with a folding spoon which is rubbish!! It just keeps folding up while the children are using it so always pack their own spoon and fork.
I bought both my girls the Stanley Food Flask from Lakeland for their lunches at school during the winter. They said that the food was still warm as the flasks keeps the food warm for up to 7 hours. TK Maxx sells these too. You can shop around.
To make sure the food is hot, I was told to put boiling water in first for a few minutes, then pour it out and put the food in. That's how the insides stay hot.