Butter Chicken is one of the most beloved Indian dishes thanks to its rich, silky sauce. This Indian Butter Cauliflower Curry keeps that same irresistible sauce but swaps chicken for roasted cauliflower to create an easy, satisfying vegetarian version. Serve with basmati rice and a warm piece of naan to mop up every last bit of sauce.
This recipe is naturally gluten-free and can be made vegan with a couple of simple swaps. If you love classic butter chicken flavors, you’ll enjoy this meat-free spin on the dish.

Whenever I visit an Indian restaurant, butter chicken (chicken makhani) is my go-to — the sauce is just incredible. This cauliflower curry captures that same creamy, spiced sauce and pours it over roasted cauliflower florets for a hearty vegetarian entrée. The whole dish comes together quickly—ready in about 29 minutes—so it’s perfect for weeknights or for serving guests who appreciate bold, comforting flavors.
I like to serve it both ways: spooned over fluffy basmati rice and accompanied by naan for dipping. If you don’t make naan from scratch, store-bought naan can be refreshed easily: brush with melted butter (or a vegan butter for a dairy-free version), sprinkle with crushed garlic and chopped cilantro, then briefly broil until warm and slightly charred for extra flavor.
Table of contents
- Ingredients
- Instructions
- How to make it vegan
- What else can I add to this dish?
- More cauliflower recipes

Ingredients
- Spices – garam masala, turmeric, cayenne pepper, ground cumin, and salt. These core spices build the classic butter curry flavor.
- Unsalted butter – using unsalted butter lets you control the dish’s saltiness. For vegan, use vegan butter.
- Sweet onion – diced. A sweet onion pairs nicely with the creamy coconut; yellow or white onion will also work.
- Garlic – fresh, minced for best flavor.
- Fresh ginger – grated. (Tip: frozen ginger keeps well and can be grated from frozen.)
- Fresh lemon juice – brightens the sauce.
- Tomato paste – canned.
- Tomato sauce – canned.
- Coconut cream – use unsweetened coconut cream for a rich, creamy texture. Full-fat canned coconut milk can be substituted but is thinner.
- Plain yogurt – use plain regular or Greek yogurt with no added flavors. For a vegan version, substitute a plain coconut or cashew yogurt.
- Head of cauliflower – about 24 oz, cut into florets.
- Fresh cilantro – chopped for garnish.
- Basmati rice – cooked, for serving. Any white rice, brown rice, or quinoa works as an alternative.
Instructions
- Preheat and mix spices.
- Preheat your oven broiler to low. In a small bowl, whisk together 2 tbsp garam masala, 2 tsp turmeric, 1 tsp cayenne pepper, 1 tsp ground cumin, and 1/2 tsp salt. Reserve part of this mix for the curry and part for the cauliflower.
- Make the butter curry sauce.
- Melt 2 tbsp of the butter in a large saucepan or Dutch oven over medium-high heat. Add the diced onion and sauté 4–5 minutes until translucent.
- Add the minced garlic and grated ginger and cook for 1 minute more.
- Stir in another 1/4 cup butter, 2 1/2 tbsp of the spice mix, lemon juice, and the tomato paste. Sauté briefly to cook the paste for about a minute.
- Add the tomato sauce, coconut cream, and plain yogurt. Bring to a rapid simmer, then reduce the heat, cover, and let the sauce simmer gently for 10 minutes to develop the flavors.
- Roast the cauliflower.
- Spread the cauliflower florets evenly on a baking sheet. Melt the remaining 2 tbsp butter and drizzle over the cauliflower, tossing to coat. Sprinkle on the remaining spice mix and toss again so the florets are well seasoned.
- Broil the cauliflower briefly—check after 1–2 minutes and continue up to 4–6 minutes total depending on your broiler—until the edges are lightly charred. Watch closely to avoid burning.
- Remove from the oven and transfer the roasted cauliflower to the simmering curry sauce.
- Finish and serve.
- Simmer the cauliflower in the sauce for 5–10 minutes so the flavors meld and the sauce thickens slightly.
- Garnish with fresh chopped cilantro. Serve the curry over cooked basmati rice and offer naan on the side for dipping.

Try it!
Instant Pot Basmati Rice
Use an Instant Pot to make perfectly fluffy basmati rice while you prepare the curry. This speeds up dinner and keeps timing simple.
How to make it vegan
To make this curry fully vegan, swap the dairy-based ingredients for plant-based alternatives:
- Replace the butter with a vegan butter or neutral oil.
- Replace the plain yogurt with a plain coconut or cashew yogurt, or a vegan Greek-style yogurt.
What else can I add to this dish?
This curry is versatile—add vegetables or legumes for more texture and nutrition. Some great options:
- Peas: Stir in 1/2 cup frozen peas when you add the roasted cauliflower so they warm through in the sauce.
- Sweet potatoes: Parboil 1 cup diced sweet potatoes for 15 minutes, then toss with butter and spices and broil with the cauliflower so they caramelize slightly.
- Chickpeas: Drain and rinse a 15 oz can of chickpeas and add them to the curry along with the roasted cauliflower for extra protein and heartiness.

More cauliflower recipes
If you’re exploring more ways to enjoy cauliflower, here are a few favorite vegetarian recipes to try:
Buffalo Cauliflower Tacos
Roasted Cauliflower Salad
Cauliflower Nachos
Korean Fried Cauliflower
Other vegetarian Indian favorites that pair well with this curry include paneer makhani and palak paneer—rich, flavorful dishes that showcase similar spice profiles.
Indian Butter Cauliflower Curry
Butter Chicken’s signature creamy, spiced sauce is used here with roasted cauliflower for an indulgent vegetarian curry that’s quick to prepare and perfect for serving with rice and naan.
Servings: 4 people
Prep Time: 29 minutes | Total Time: 29 minutes
Author: Whitney Bond
Ingredients
- 2 tbsp garam masala
- 2 tsp turmeric
- 1 tsp cayenne pepper
- 1 tsp ground cumin
- 1/2 tsp salt
- 1/2 cup unsalted butter, divided
- 1 cup sweet onion, diced
- 1 tbsp garlic, minced
- 1 tsp fresh ginger, grated
- 2 tsp lemon juice
- 8 oz can tomato paste
- 15 oz can tomato sauce
- 1 cup coconut cream
- 1 cup plain yogurt
- 1 head cauliflower (about 24 oz), cut into florets
- 1/4 cup fresh cilantro, chopped
Serving Options
- 2 cups cooked basmati rice
- 1 piece naan
Instructions
- Preheat the broiler to low.
- Combine the garam masala, turmeric, cayenne, cumin and salt in a small bowl.
- Melt 2 tbsp butter in a large saucepan over medium-high heat. Add the onion and sauté 4–5 minutes.
- Add garlic and ginger and sauté for 1 minute.
- Stir in 1/4 cup butter, 2 1/2 tbsp of the spice mix, lemon juice, and tomato paste. Sauté for 1 minute.
- Add tomato sauce, coconut cream, and plain yogurt. Bring to a rapid simmer, then reduce heat, cover and simmer for 10 minutes.
- While the sauce simmers, spread cauliflower on a baking sheet. Melt the remaining 2 tbsp butter and drizzle over cauliflower, toss, then sprinkle with the remaining spice mix.
- Broil the cauliflower on high for 4–6 minutes, watching closely to avoid burning.
- Remove cauliflower from oven and add to the butter sauce. Simmer 5–10 minutes to meld flavors.
- Top with chopped cilantro and serve over rice or with naan.
Notes
- Nutrition information applies to the curry only and does not include rice or naan.
Nutrition Facts (per serving)
Calories: 581 kcal | Carbohydrates: 36 g | Protein: 12 g | Fat: 47 g | Saturated Fat: 35 g | Sodium: 1378 mg | Fiber: 10 g | Sugar: 19 g