Peel and slice the onion. Peel and crush the garlic. Strip the leaves off the coriander sprigs and put to one side. Finely chop the stalks. Roughly chop the tomatoes. Slice the mushrooms.
Warm 1 tbsp oil in a pan. Add the onions. Season with salt and pepper. Fry for 5 mins over a medium heat, stirring often, till they start to soften.
Add the garlic and coriander stalks to the pan. Stir and cook for 1 min. Stir in 2 tsp garam masala and 1 tsp turmeric. Fry for another 1 min.
Add the tomatoes to the pan. Turn up the heat so the sauce starts to bubble. Pop a lid on the pan. Turn the heat down to low. Simmer for about 10 mins till the sauce is soft and pulpy looking. Stir occasionally.
Tip the rice into a pan. Add 350 ml boiling water with a pinch of salt. Cover. Bring to the boil. Turn the heat down. Simmer for 6 mins. Take off the heat. Set aside, lid on, for 2-4 mins to finish cooking.
Add the cumin seeds to a dry frying pan. Toast for 1-2 mins till they smell nutty. Tip into a bowl. Warm 1 tbsp oil in the pan. Add the mushrooms. Season. Fry for 5-8 mins till golden. Stir every so often.
Drain the beans and rinse. Add them to the masala sauce with 100 ml boiling water. Simmer for 5 mins to warm the beans through. Serve the masala beans with the rice and fried mushrooms. Sprinkle over the cumin seeds and coriander leaves.