For the curry gravy, heat the groundnut oil in a wok or large pot and add the onions, garlic and chilli and fry for 1-2 minutes, or until softened. Add the tomatoes, green peppers, ginger, cardamom pods, cinnamon stick, nigella seeds, ground coriander seeds and ground cumin. Season with a pinch of salt and cover with the water. Bring to the boil, then reduce the heat and simmer for 4-5 minutes.
Cover the wok or pot with a lid and simmer for 30-40 minutes over a low heat. Remove the cinnamon stick then, using a stick blender, blend the mixture until smooth. Set aside.
For the pilau rice, heat the ghee in a pan and fry the onion and garlic for 4-5 minutes, or until softened and beginning to colour.
Add the half cinnamon stick and the cardamom pods, then stir in the basmati rice and pour over the hot vegetable stock. Stir well, then cover the pan with a lid and simmer gently for 20-25 minutes, or until all of the stock has been absorbed and the rice is tender.
For the beef Madras, mix together the spices, ginger, garlic and chillies in a large bowl. Add the beef slices and stir well to coat in the mixture.
Heat the ghee in a pan and fry the beef for 2-3 minutes, then add the chopped aubergine, okra and tomato purée. Season, to taste, with a pinch of salt, then cook for a further 3-4 minutes, or until the beef is cooked through.
Pour the curry gravy over the beef and cook for 1-2 minutes, to warm through.
To serve, spoon the pilau rice onto serving plates and spoon the beef madras alongside. Sprinkle the garam masala over the beef and garnish with the fresh coriander leaves.