Alex,
First issue is to determine how much heat energy is required to warm the temperature of the contents from start temperature to holding temperature in some maximum time period such as the 30 minutes suggested. The mass and specific heat will play big roles in these calculations. Once raised to the temperature, you will need energy to maintain it for however long is needed. The heat losses should be reduced to a minimum through insulating the system as well as practical. Once the amount of energy is determined, you will need to size the batteries appropriately to have that capacity plus reserve based on expected battery losses with repeated usage/charges.
Inside a closed system, a low mass heater that can uniformly distribute the energy over the food to be heated will be able to get it to temperature quickest without creating overtemperature situations elsewhere. You might find that thermoelectric modules (heat pumps) with heat exchange outside of the closed system are more efficient at warming the environment within the system. They do not spread the heat well and need to be mounted to a good heat spreader.
Vitreous Humor
"Eye can see clearly now..."