Preheat your oven to 400°F (200°C). Toss the cauliflower florets with olive oil, salt, turmeric powder, and 1 teaspoon of garam masala on a baking sheet.
Roast the cauliflower for 20 to 25 minutes, flipping halfway, until tender and slightly browned. Set aside.
Drain the soaked cashews and place them in a high-speed blender with 1/2 cup of fresh water. Blend until completely smooth and creamy. This is your cashew cream base.
Heat the coconut oil in a large pot or Dutch oven over medium heat. Add the chopped onion and cook until soft and translucent, about 5 to 7 minutes.
Add the minced garlic and grated ginger to the pot. Cook for 1 minute until fragrant.
Stir in the cumin powder, coriander powder, cayenne pepper, and the remaining 1 teaspoon of garam masala. Cook the spices for 30 seconds, stirring constantly.
Pour in the diced tomatoes and vegetable broth. Bring the mixture to a simmer. Cook for 5 minutes, allowing the flavors to meld.
Stir in the blended cashew cream and the full-fat coconut milk. Mix well until the sauce is smooth. Do not boil after adding the cashew cream.
Stir in the maple syrup and crushed fenugreek leaves. Taste the sauce and adjust salt if needed.
Gently fold the roasted cauliflower florets into the sauce. Simmer on low heat for 5 minutes to warm the cauliflower through.
Serve hot, garnished with fresh cilantro.
Notes
For a thicker sauce that avoids wateriness, ensure your cashew cream is very smooth and use full-fat canned coconut milk, not the beverage kind.
Serve this curry with basmati rice or warm vegan naan bread for dipping.
If you do not have cashews, you can substitute with 1 cup of soaked sunflower seeds or an additional 1/2 cup of full-fat coconut milk, though the texture will change slightly.
To deepen the flavor, you can marinate the cauliflower in a tablespoon of plain vegan yogurt and a pinch of turmeric before roasting.