Preheat the oven to 200°C fan / 220°C / 425°F.
Break up the cauliflower into florets and chop the stalk into small pieces. Add to a large roasting tray with the onion and carrot.
Tear the tofu into bite-sized pieces, then add to the tray. Next slice the head off the garlic bulb to expose the cloves, then add the bulb to the tray - cut side facing up.
Drizzle everything with oil and season generously with salt, then mix and cook in the oven for 25-30 minutes or until the tofu is golden and the cauliflower is tender, stirring halfway through.
Add a splash of oil to a large pan on a medium heat. Add the ginger, cumin and garam masala, then stir and cook for 2-3 minutes.
Next add the tinned tomatoes to the pan. Then fill half of the empty tin of tomatoes with water and swirl it around to collect any leftover tomato juices, before pouring the water into the pan. Add the turmeric, then give it all a good mix and leave it to simmer on a low heat for 15-20 minutes or until it has thickened, crushing any large pieces of tomato with a masher or a fork while it cooks.
Meanwhile, cook the rice as per the packet instructions, then leave it to one side with the lid on.
When the tofu and veggies have finished in the oven, carefully peel the skins off the onion, then add the onion to a fast-powered blender. Next squeeze out the soft garlic cloves into the blender, followed by the carrot, half of the cauliflower florets and all of the stalk. Leave the tofu and remaining cauliflower in the tray for later.
Now pour the coconut milk into the blender and blend until smooth, then pour it into the pan with the tomato mixture. Give it all a good stir, then add the remaining tofu and cauliflower florets and loosen the sauce with a splash of hot water, if necessary.
Heat through for a few minutes so the curry is piping hot, then add the maple syrup and season to taste with salt.
Serve with the rice and, if you like, top with coriander and almond flakes. Yum!