On a medium burner, heat oil on a medium flame in a big enough wok or pot. Add the bay leaf and cumin seeds. Sizzle for 5-10 seconds, taking care not to burn the seeds.
Next, add the ginger-garlic-chilli paste and sauté for 30-45 seconds, just enough to remove the raw smell of ginger and garlic. Reduce the flame to low if required.
Add the grated tomatoes, salt (be mindful of the salt that was added while cooking the soybeans), turmeric powder, chilli powder and coriander powder.
Mix, cover and cook on low-medium flame till the tomatoes are cooked and the oil separates and floats on the top (approximately 15 minutes).
Keep stirring in between to make sure the tomatoes do not stick to the bottom of the pot and get burnt.
Once the tomatoes are cooked, add the amchoor powder, garam masala, finely chopped coriander and mix.
Next add in the cooked soybeans along with the water that remained after cooking them. If you cooked the soybeans in a pot, then add only the soybeans and just ¼ cup of water that was used to cook the soybeans. Discard the remaining water.
Add the mushrooms, mix and cover. Continue cooking on low flame for another 15-20 minutes.
Keep mixing in between. Initially, the curry will be relatively dry, but as the mushrooms cook, they will release water that will be sufficient for the gravy.
After the mushrooms have released their water, keep cooking till the oil separates and floats again on the top.
Taste and add seasoning if required.
Switch off the gas and remove from heat. Cover and let it rest for 5-10 minutes for the spices and the flavors to blend properly.
Before serving, drizzle the lemon/lime juice and garnish with freshly chopped coriander.
Serve with roti, paratha, naan, flatbread, rice or even toast.