Blanch the tomatoes by putting them in a large heatproof bowl of boiling water for 30 seconds, then plunging them in cold water. Remove the skin and slice off the top neatly with a sharp knife, then remove the core, taking care not to pierce the flesh.
To make the filling, melt the butter in a large, heavy-based pan over medium heat, add the mushrooms and lightly fry for about 2-3 minutes, or until the moisture has evaporated.
Transfer to a bowl, then add all the other ingredients for the filling, season with salt, and mix together. Put a portion of the filling in each of the blanched tomatoes and set aside.
To make the paste, put all the ingredients in a blender or food processor, with a little water if necessary, and process to make a paste. Set aside.
To make the sauce, put the turmeric and chilli powder in a small bowl, add 2 tablespoons of water and stir together.
Heat the oil in another large, heavy-based pan over medium heat, add the mustard and cumin seeds, and stir-fry for about 1 minute, or until they start to splutter.
Add the curry leaves, stir, then add the onions and lightly fry for about 2 minutes, or until they are translucent. Add the ginger and garlic pastes and stir-fry for about 2-3 minutes, or until the onions are golden.
Add the ground spice mixture to the pan and stir-fry for 2-3 minutes, or until the moisture has evaporated, then add the pastes and stir-fry for about 2-3 minutes, or until the oil has separated out.
Pour in 750ml / 14 pints (3 1/4 cups) water and season with salt. Bring to the boil, then stir in the tamarind extract. Reduce the heat and simmer for about 5 minutes, stirring occasionally, until it is a thin sauce consistency.
Place the stuffed tomatoes in the sauce, cover, and simmer for 2-3 minutes. Uncover and simmer for about 5 minutes, or until the sauce is thick. Remove from the heat and adjust the seasoning, if necessary