Trim and discard the woody tips of the King Oyster mushrooms (about 1-inch) and wipe the remaining with a cloth to remove any dirt. Lay the mushroom flat on a board and carefully drag fork prongs down the length of each mushroom to shred the "meat". Repeat with all mushrooms and set aside. If you are using another type of mushroom, just wipe them clean and slice thickly.
Heat the vegetable oil in a pan over low to medium heat and add the onion to sauté for 5 minutes. Add the spice blend - garam masala, turmeric, cumin, coriander, cardamom or all-spice (optional), chilli and salt - and stir though. Continue cooking for a minute.
Add the garlic and ginger and sauté for a minute or until fragrant before stirring in the shredded mushrooms and chickpeas. Stir the mushrooms and chickpeas to coat them in the onions and spice.
Add the tomato passata, tomato paste, coconut milk and stock and stir well. Increase the heat to high to bring the mixture up to a soft boil before reducing the heat to low again and cooking at a simmer for around 40 minutes or until the mixture has thickened.
Remove from the heat and stir through the baby spinach and vegan butter. Allow the curry to sit for 5 minutes for the spinach to wilt. Serve with a squeeze of lemon (optional), basmati rice and either papadums or naan bread.