This post may contain affiliate links, view our disclosure.
This easy recipe for cauliflower pav bhaji is a keto-friendly version of a richly spiced vegetarian Indian curry that’s finished with butter and traditionally served with rolls. If you’re looking for low carb Indian food, you found it – here we pair the curry with keto rolls for a much lower carb version that keeps the integrity of the classic dish.

If you’ve been following my blog for a while now, you already know how much I love Indian food. I make several Indian dishes at home, including dal makhani, rogan josh, naan, and my personal favorite, Indian butter chicken.
Pav bhaji is a great choice when you want a vegetarian option. Or if you want a veggie-rich side dish, but don’t want to forgo the meat, grill up some Tandoori chicken or fish to serve along with it. In terms of low carb Indian food, this recipe will surprise you with how flavorful it is!
What is Pav Bhaji?
Pav bhaji is an Indian street food dish originating in Mumbai.
Bhaji is a vegetable curry usually made of potato, cauliflower, green peas, onion, and garlic in a spiced tomato sauce. It may also contain carrots, green beans, and/or bell peppers. This curry can be served chunky or mashed a bit for less texture. Butter is typically melted down on top of the curry, which lends rich flavor and buttery texture. Additionally, garnishes can include fresh onion, cilantro, and lime or lemon wedges. This rich vegetable curry is then served with toasted, buttered bread rolls, known as pav.
Is Pav Bhaji Junk Food?
Pav bhaji is street food, but not necessarily junk food. It’s commonly served as lunch or a snack, similar to how we’d buy a hot dog or taco from a street vendor in a big city. Compared with other street foods that we’re familiar with (like a burger and fries), a vegetable-rich curry doesn’t seem like junk food at all.
When you’re limiting your carb intake, pav bhaji isn’t usually thought of as a low carb Indian food. It may contain a few different starchy vegetables, such as potato, carrot, and green peas, and it’s also served along with bread. However, if you’re looking for low carb Indian food, I have you covered with my version.
Pav Bhaji Nutrition Facts
According to Nutritionix, one serving of classic pav bhaji (about 1 1/2 cups with 2 rolls) has the following nutrition information:
- 390kcals
- 11g total fat
- 63g carbohydrates (compared with just 10 grams net carbs in this homemade version!)
- 9.4g fiber
- 12g protein
How is This a Low Carb Indian Food?
For this keto friendly version, I lowered the carbs quite a bit without sacrificing its authentic flavor. Here are the alterations I made to ensure that this dish is a low carb friendly meal:
- I omitted the potatoes and used more cauliflower. In general, cauliflower is used frequently as a potato substitute (think: mashed cauliflower, cauliflower gratin, cauliflower hash, cauliflower hash browns, etc.), and this dish isn’t lacking anything by skipping the potato.
- I only used 1/4 cup of green peas for the entire recipe. I love green peas, but let’s face it, they are high in carbs!
- Instead of serving this with regular bread rolls, I served them with my low carb biscuits with just a few small changes. I omitted the 2 ounces of sharp yellow cheddar and the garlic powder. Also, I used almond meal instead of almond flour for a “whole wheat” look.

Ingredients
Breaking It Down
Ingredients Explained
In this section I explain the ingredients and give substitution ideas where applicable. For the full recipe (including the ingredient amounts), see the recipe card below.
Cauliflower Pav Bhaji Recipe Ingredients:
- Ghee – Aka clarified butter. This creates a rich, buttery base flavor.
- Onion, garlic, and ginger – These fresh aromatics create depth of flavor and aroma.
- Garam masala spice mix, salt, turmeric, Kashmiri chilli powder, and fenugreek – This spice blend lends incredible complexity to the curry.
- Cauliflower – This beloved, versatile low carb vegetable is the star of the show!
- Water – Or unsalted vegetable (or chicken) stock.
- Tomato paste – For depth of flavor and to help thicken the liquid into a velvety sauce.
- Butter – Butter is the classic finisher for this dish.
- Green peas – Frozen and thawed (don’t use canned green peas here, they’re too mushy).
- Fresh lemon juice – To wake up the flavor of the rich spices.
For Serving:
- Buttered rolls – To keep the carbs low, I served this curry with my low carb cheddar bay biscuits recipe made with the following changes: 1) used almond meal instead of almond flour; 2) omitted the garlic powder, and 3) omitted the 2 ounces sharp yellow cheddar. You can also use store-bought keto slider buns.
- Fresh cilantro leaves, minced red onion, and fresh lemon or lime wedges – Optional.
Instant Pot Instructions
- Sauté the aromatics to create base flavor. Turn the Instant Pot on, press “Sauté”, and wait 2 minutes for the pot to heat up. Add the ghee and onion and cook until translucent, about 2 to 3 minutes, stirring occasionally. Add the garlic, ginger, garam masala, salt, turmeric, chilli powder, and fenugreek, and cook 1 minute, stirring constantly. Press “Cancel” to stop sautéing.
- Pressure cook. Add the cauliflower, water, and tomato paste to the pot. Turn the pot on “Manual, High Pressure” for 2 minutes, and then do a quick release.
- Add the finishing touches. Stir in the butter, and once melted, stir in the peas and lemon juice.
- Enjoy. Transfer the curry to a serving dish and top with fresh cilantro leaves and minced red onion. Serve it along with buttered rolls and fresh lemon wedges to squeeze on top.
Stovetop Instructions
This recipe is relatively easy to make on the stovetop, although the Instant Pot really does make very fast work of it! Here is how to make this recipe on the stovetop instead:
- Sauté the aromatics to create base flavor. Heat a medium to large saucepan over medium heat. Add the ghee and onion and cook until translucent, about 5 minutes, stirring occasionally. Stir the garlic, ginger, garam masala, salt, turmeric, chilli powder, and fenugreek and cook 1 minute, stirring constantly. Set aside for now.
- Cook. Add the cauliflower, water, and tomato paste to the pot. Bring to a boil, and then cover the pot, turn the heat down to simmer, and cook until the cauliflower is tender, but not mushy, about 15 to 20 minutes. Stir in the sautéed aromatics.
- Add the finishing touches. Stir in the butter, and once melted, stir in the peas and lemon juice.
- Enjoy. Transfer the curry to a serving dish and top with fresh cilantro leaves and minced red onion. Serve it along with buttered rolls and fresh lemon wedges to squeeze on top.

Storage
Cool to room temperature and then store in an airtight container in the fridge for up to 5 days or in the freezer for up to 3 months.
Tips For the Best Homemade Pav Bhaji
- Don’t skip sautéing the aromatics and spices. This creates a rich, deep flavor base for the entire dish.
- To make this a filling meal, serve it with tandoori chicken (or roast chicken) and a big leafy green salad.

Frequently Asked Questions
Garam masala is a spice mix originally from the Punjab region in northern India. It varies slightly by region, as well as by family and personal preference. Garam masala goes into many curries, and is used on its own as a seasoning. Garam masala literally translates to “warm spice mix”, but this doesn’t refer to heat level. Warm in this sense refers to the warming Ayurvedic effect these spices have on the body.
Garam masala usually contains: coriander, cumin, cinnamon, cloves, nutmeg, dried ginger, black cardamom, green cardamom, black pepper, and bay leaves. And it may also have: mace, fennel, star anise, and fenugreek.
No. Garam masala is not the same thing as curry powder. Although they share a few ingredients, each is its own unique spice blend. Curry typically contains quite a bit of turmeric, which gives it a bright yellow color, which isn’t present in garam masala. Also, garam masala is typically a bit sweeter than curry.
More of My Favorite Indian Food Recipes
- Keema Pav (aka Indian Sloppy Joes)
- Restaurant Style Paneer Butter Masala
- Baked Curry Puffs (aka Karipap)

Let’s Connect

Did you make this recipe? Please rate it and leave a comment below. You can also tag @anediblemosaic on social media.
To stay up-to-date, follow me on Facebook, Instagram, Pinterest, and Twitter!

Low Carb Cauliflower Pav Bhaji Recipe (Instant Pot or Stovetop)
Email This Recipe
Get this recipe link emailed straight to your inbox!
Equipment
Ingredients
- 2 tablespoons grass-fed clarified butter (ghee)
- 1 medium onion (diced)
- 5 large cloves garlic (crushed)
- 1 tablespoon freshly-grated ginger
- 1 tablespoon garam masala spice mix
- 3/4 teaspoon salt
- 1/2 teaspoon ground turmeric
- 1/2 teaspoon Kashmiri chilli powder
- 1/4 teaspoon ground fenugreek
- 1 3/4 pounds cauliflower (about 1 large head, chopped into florets)
- 1 cup water (or unsalted vegetable stock)
- 5 tablespoons tomato paste
- 2 tablespoons unsalted butter
- 1/4 cup frozen green peas (thawed; optional – leave out to lower the carbs even more)
- 1/2 tablespoon fresh lemon juice
For serving:
- 4 Buttered rolls (see Notes)
- Fresh cilantro leaves
- Minced red onion
- Fresh lemon or lime wedges
Instructions
- Sauté the aromatics to create base flavor. Turn the Instant Pot on, press “Sauté”, and wait 2 minutes for the pot to heat up. Add the ghee and onion and cook until translucent, about 2 to 3 minutes, stirring occasionally. Add the garlic, ginger, garam masala, salt, turmeric, chilli powder, and fenugreek, and cook 1 minute, stirring constantly. Press “Cancel” to stop sautéing.
- Pressure cook. Add the cauliflower, water, and tomato paste to the pot. Turn the pot on "Manual, High Pressure" for 2 minutes, and then do a quick release.
- Add the finishing touches. Stir in the butter, and once melted, stir in the peas and lemon juice.
- Enjoy. Transfer the curry to a serving dish and top with fresh cilantro leaves and minced red onion. Serve it along with buttered rolls and fresh lemon wedges to squeeze on top.
Notes
- Net Carbs: 10 grams per serving (each serving is 1/8 of the curry and 1/2 of a buttered low carb biscuit).
- Buttered Rolls: To keep the carbs low, I served this curry with my low carb cheddar bay biscuits recipe made with the following changes: 1) used almond meal instead of almond flour; 2) omitted the garlic powder, and 3) omitted the 2 ounces sharp yellow cheddar.
- Storage: Cool to room temperature and then store in an airtight container in the fridge for up to 5 days or in the freezer for up to 3 months.
- Sauté the aromatics to create base flavor. Heat a medium to large saucepan over medium heat. Add the ghee and onion and cook until translucent, about 5 minutes, stirring occasionally. Stir the garlic, ginger, garam masala, salt, turmeric, chilli powder, and fenugreek and cook 1 minute, stirring constantly. Set aside for now.
- Cook. Add the cauliflower, water, and tomato paste to the pot. Bring to a boil, and then cover the pot, turn the heat down to simmer, and cook until the cauliflower is tender, but not mushy, about 15 to 20 minutes. Stir in the sautéed aromatics.
- Add the finishing touches. Stir in the butter, and once melted, stir in the peas and lemon juice.
- Enjoy. Transfer the curry to a serving dish and top with fresh cilantro leaves and minced red onion. Serve it along with buttered rolls and fresh lemon wedges to squeeze on top.
Nutrition
Nutritional information is automatically calculated and should be used as an approximate.
Share it with me on Instagram and leave a comment to let me know your thoughts!

This post was first published on An Edible Mosaic on September 14, 2018 and updated on July 31, 2026.

I’m the writer, recipe developer, photographer, and food stylist behind this blog. I love finding the human connection through something we all do every day: eat! Food is a common ground that we can all relate to, and our tables tell a story. It’s my goal to inspire you to get in the kitchen, try something new, and find a favorite you didn’t know you had.
Free Bonus


I made this tonight and it was amazing. So I’m just wondering could I use frozen cauliflower instead of fresh ??
Nessa, Thank you so much, I’m so happy you enjoyed this recipe!
Yes, you can use frozen cauliflower instead of fresh, just know that it will be a bit softer and a bit more watery. If you want to cook off some of the additional water, you could use the Saute function and let some water cook off after you release the pressure.
To use frozen cauliflower instead of fresh, instead of setting the Instant Pot to Manual, High Pressure for 2 minutes, set it to Manual, High Pressure for 0 minutes (it’s basically done cooking when it comes up to pressure), and then do a quick pressure release.
This was terrific. I omitted the fenugreek because I had none in my spice drawer. Served it with red lentil naan.
I love pav bhaji and that looks so tasty.
Always loved them !!
You can mash it a bit and it will look like a proper bhaji…
Also it will be easy to have it with bun
best recipes website well done
That is so kind, thank you so much!
I made this for lunch and it was seriously out of this world. The flavor was incredible and the texture was perfect–restaurant quality and the whole thing took maybe 20 minutes! I served it over quinoa, and can’t wait to have the leftovers tomorrow!
Jamie, I’m so happy to hear you enjoyed it! :)
Yup! This looks AMAZING! I have it pinned and can’t wait to try it. We have been doing a lot of low carb stuff, but been missing Indian food.