This post contains affiliate links. As an Amazon Associate, I earn from qualifying purchases.
Cauliflower curry is a meatless dish filled with spices, tomatoes, and coconut milk. Serve with basmati rice and naan for a complete meal.
My family loves curry, which means we have it a lot, both from our local restaurants and made at home.
Lately I’ve been wanting a more veggie-focused dish to add to the table, and so this easy cauliflower curry recipe was it!
Now, “curry” is not a specific dish but rather a wide variety of dishes that use different spices and ingredients.
This cauliflower curry is most similar to tikka masala, using coconut milk in place of the yogurt chicken is typically marinated in.
Much of the flavor comes from tomatoes and paprika, making it mild and perfect for those who aren’t yet ready for spicier curries.
This dish is easy to make and can be customized in so many ways. Plus, it’s meat-free, so you can share it with vegetarian and vegan friends as well.
Ingredients for cauliflower curry
This recipe uses a handful of base ingredients along with flavorful spices.
Cauliflower – You’ll need one medium-size head of cauliflower, which is about 2 pounds. This includes the leaves and stem center that you’ll cut off.
If you choose to use precut cauliflower florets, you’ll need about 24 ounces, or 2 12-ounce bags. You can also use thawed frozen cauliflower.
Coconut milk – Look for canned coconut milk in the inner aisles of your grocery store. Note that this is not ready-to-drink coconut milk from the refrigerated area.
Make sure you get coconut milk, not coconut cream, which is very thick. You can use both full fat coconut milk or lowfat coconut milk.
Garam masala – Garam masala is actually a blend of spices that are commonly used in Indian cooking. It can vary from hot to not hot at all. You can either make your own garam masala blend, or buy it from the spice section.
Paprika – Choose your own adventure here! I love using smoked paprika, but you can use hot paprika or sweet paprika, depending on what flavors you love.
Salt – Salt boosts the rest of the flavors, so don’t forget it!
Ground cumin – Cumin adds a bit of warm, earthy, and lightly citrusy flavor .
Ground coriander – Coriander is the seed of what we know in the United States as cilantro. If you are cilantro-averse, don’t worry! It does not have the same “soapy” taste some get from the leaves.
Turmeric – Turmeric helps to intensify the other flavors of the dish, while also adding vibrant color.
Cayenne – Ground cayenne pepper adds heat.
Ground black pepper – Pepper adds just a bit of sharp bite.
Onion – Use yellow or white onion for this recipe. I do not recommend using a sweet onion like Vidalia. If you want a sharper flavor, you can use red onion.
Garlic – Because garlic cloves can vary greatly in size, use as many or as few cloves as you like. Three cloves is a good starting point for this recipe.
Diced tomatoes – If using canned diced tomatoes, do not drain the juices. You can substitute 1 ½ cups chopped fresh tomatoes too. Or, if you prefer a saucier curry with fewer chunks, use crushed tomatoes or tomato sauce.
How to make this recipe
For this curry, I first roast the cauliflower in a coating of coconut milk and spices.
If you are using precooked cauliflower or prefer to steam your cauliflower, you can skip roasting it.
Preheat the oven to 400°F and line a baking sheet with parchment paper or reusable baking liner.
Cut the cauliflower into smaller florets. I like to do bite-size pieces.
It is easiest to cut the cauliflower from the bottom, carefully removing the leaves and stem before dividing the florets further.
Use a sharp knife to cut into the stem on all sides and carefully break off the stem. Then cut the cauliflower into the desired size florets. (Don’t neglect the smaller stems; they’re just as good!)
Place the chopped cauliflower pieces in a large bowl and toss with ½ the can of coconut milk, coating on all sides.
Mix together 1 teaspoon garam masala, 1 teaspoon paprika, and ½ teaspoon salt, then scatter over the cauliflower and toss again to coat evenly.
Spread the cauliflower in a single layer on the prepared baking sheet. Roast for 30 minutes.
While the cauliflower is roasting, make the sauce.
Heat 2 tablespoons olive oil in a large sauté pan over medium heat.
Add onion and cook for 5 minutes, until softened. Add garlic and cook for another 30 seconds.
Mix together remaining garam masala, paprika, and salt, along with the rest of the spices, then sprinkle over the onion and garlic. Cook for 1 minute, until very fragrant.
Pour in the tomatoes with their juices and stir well, scraping the bottom to pick up any stuck bits of onion or spice.
Add the remaining coconut milk and stir to mix. Bring to a boil, then reduce heat to low and simmer.
When cauliflower is done roasting, add it to the sauce and let simmer for 10 minutes, stirring occasionally.
For a thicker sauce, simmer with the lid off to reduce.
Serve with basmati rice and naan.
For a protein boost, add canned drained chickpeas just before simmering.
If not avoiding meat, you can also add diced cooked chicken, or cooked chunks of lamb or beef.
Make it spicier with the addition of diced chiles or more ground cayenne pepper. You can also use a spicier curry blend instead of garam masala.
Add crunchy cashews or chopped fresh cilantro for garnish.
If you are allergic to coconut milk, toss the cauliflower with olive oil for roasting, and use half-and-half in the curry sauce.
More cauliflower dishes to try
- Cauliflower Tacos
- Pickled Cauliflower
- Peanut Butter Cauliflower
- Roasted Orange Cauliflower
- Cauliflower Tabouli
- 1 head cauliflower
- 13.5 ounces coconut milk, divided use
- 2 teaspoons garam masala, divided use
- 2 teaspoons paprika, divided use
- 1 teaspoon fine sea salt, divided use
- 2 teaspoons ground cumin
- 1 teaspoon ground coriander
- 1/4 teaspoon ground turmeric
- 1/4 teaspoon ground cayenne pepper
- 1/4 teaspoon ground black pepper
- 2 tablespoons olive oil, or ghee
- 1 medium onion, chopped
- 3 cloves garlic
- 14.5 ounces diced tomatoes, undrained
- Preheat oven to 400°F and line a rimmed baking sheet with parchment paper.
- Remove stem core and leaves from cauliflower and cut into bite-size pieces. Add to a bowl and pour over ½ can of coconut milk. Use tongs to coat cauliflower.
- Mix together 1 teaspoon garam masala, 1 teaspoon paprika, and ½ teaspoon salt, and sprinkle over the cauliflower. Toss to coat, then spread cauliflower in an even layer on baking sheet. Roast for 30 minutes.
- Meanwhile, make the sauce. Heat olive oil in a large sauté pan over medium. Add onion and cook for 5 minutes, then add the garlic and cook another 30 seconds.
- Mix together remaining garam masala, paprika, and salt, along with the rest of the spices, and sprinkle over the onion. Cook for 1 minute, until very fragrant.
- Pour in the tomatoes and mix, scraping the bottom of the pan to release any stuck bits. Pour in the remaining coconut milk and stir to combine. Bring to a boil, then reduce heat to low and simmer.
- Once the cauliflower is done roasting and tender, add to the curry sauce and simmer for 10 minutes, stirring occasionally. Serve with rice and naan.