Heat the oil in a large, heavy based pan and add the cumin seeds. Fry for one minute over a medium heat. Add the onion and cook gently for around 10 minutes until soft, stirring often.
When soft stir in the ginger, garlic, chilli powder and turmeric and cook for a further few minutes making sure that the garlic doesn't start to burn.
Add the chopped tomatoes and simmer for five minutes. Add the garam masala and stir well. At this stage I add a few pieces of cooked carrot and cauliflower and mash them into the sauce to make sure that the kids get some of the veggies in their bodies - as I never know which bits they're going to eat.
Stir well then add the rest of the vegetables. This is the time to add the paneer and/or the chickpeas if using (take care with small children if adding chickpeas as they could potentially cause a choking risk). If the sauce looks a bit dry add a little water and stir well. Add the butter or spread and stir well.
This dish really benefits from sitting for a few hours, or even overnight, so making it in advance is a good idea. However, it's perfectly ready to eat now so cook some rice or flatbreads and tuck in. We had it on this occasion with rice, chapattis and yoghurt. Little R had a great time making the chapattis with me - obviously I did the hot stove part - but she loved kneading and rolling them out.