Put the ground spices in a small bowl, add 4 tablespoons of water and mix together.
Heat the ghee in a large, heavy-based pan over medium heat, add the onions and fry for about 5-7 minutes, or until golden brown. Add the kalonji and cumin seeds and stir-fry for about 1 minute, or until they start to splutter.
Add the ginger and garlic paste and stir-fry for about 1-2 minutes, then add the ground spice mixture and stir-fry for 2 minutes. Add the tomatoes and fry for about 5 minutes, or until the oil separates out.
Remove the pan from the heat and slowly stir in the yoghurt. Season with salt, then return to the heat and pour in about 250ml / 8fl oz (1 cup) water. Bring almost to the boil, then reduce the heat and simmer for a few minutes until the sauce thickens.
Add the mushrooms and simmer for a further 5 minutes. Add the cashew nuts and lotus puffs and stir to mix well. Remove from the heat, adjust the seasoning, if necessary, and garnish with chopped coriander.