Preheat your oven to 400°F (200°C). Toss the cauliflower florets with olive oil, turmeric, garam masala, and salt on a baking sheet. Roast for 20 to 25 minutes until tender and slightly browned.
While the cauliflower roasts, prepare the sauce. Heat avocado oil in a large pot or Dutch oven over medium heat. Add the chopped onion and cook until soft, 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, coriander, and cayenne pepper. Cook the spices for 30 seconds, stirring constantly.
Add the crushed tomatoes, tomato paste, sugar, and water or broth. Bring the mixture to a simmer. Reduce the heat to low, cover, and cook for 10 minutes, allowing the flavors to meld.
Carefully transfer the sauce mixture to a blender (or use an immersion blender). Blend until completely smooth. Return the sauce to the pot.
Stir in the full-fat coconut milk or cashew cream and the crushed fenugreek leaves. Heat gently, but do not boil.
Fold the roasted cauliflower florets into the sauce. Simmer for 5 minutes to coat the cauliflower thoroughly.
Taste the sauce and adjust salt or sugar as needed. Garnish with fresh cilantro before serving.
Notes
For a deeper color, add 1/2 teaspoon of sweet paprika along with the other spices.
If you prefer a thicker sauce, simmer uncovered for a few extra minutes before adding the cauliflower.
Serve this curry with basmati rice or warm vegan naan bread.