For the garam masala
1 tbsp cardamom seeds (if you can't buy the seeds then buy cardamom pods and shell them yourself)
1 tsp black peppercorns
1 tsp black cumin seeds (you can use regular cumin seeds if black aren't available)
1 tsp whole cloves
1/3 of a whole nutmeg (you can break a whole nutmeg by placing it on a cloth and bashing it with a meat mallet or rolling pin)
a medium stick of cinnamon, about 5cm-8cm/2in-3in, broken up into 3-4 pieces
For the pullao
basmati rice, measured to the 450ml/1 pint level in a measuring jug
thumb-sized piece of fresh ginger
3 tbsp olive or groundnut oil
½ tsp brown mustard seeds
1 chilli, finely chopped
100g/4oz potato, peeled and cut into 5mm/¼in dice
¼ carrot, peeled and cut into 5mm/¼in dice
40g/1½oz green beans, cut into 5mm/¼in segments
½ tsp ground turmeric
1 tsp garam masala
1¼ tsp salt
570ml/1 pint water
For the garam masala, put all the garam masala spices in a clean coffee grinder or other spice grinder and grind as finely as possible. Store in a tightly lidded jar, away from heat and sunlight. This makes about three tablespoons.
For the pullao, wash the rice in several changes of water then drain. Put the rice in a bowl, cover with water and leave to soak for 30 minutes, then drain again.
Peel and finely grate the ginger.
Heat the oil in a heavy-based pan (with a tight-fitting lid) set over a medium-high heat. When it's hot, add the mustard seeds.
As soon as they begin to pop - a matter of seconds - add the chilli, potato, carrot and green beans and stir.
Add the turmeric and garam masala and stir for one minute.
Add the ginger and saute, stirring, for another minute.
Drain the rice and add it to the pan.
Reduce the heat to medium-low and stir the rice very gently to mix it into the other ingredients and coat it with the oil and spices. Cook this way for two minutes.
Add the 570ml/1 pint water and the salt and bring to the boil. Cover the pan with a very tight-fitting lid (if you don't have a very tight-fitting lid then cover the pan with foil then a lid) then turn the heat to very low and cook for 25 minutes. After this time try a grain of rice to see if it's cooked - cook for a few more minutes if necessary.
Once it's cooked you can leave it with the lid on and the heat turned off for up to half an hour before serving. Or serve at once on a serving plate.