Authentic Punjabi Chole Masala Recipe (Restaurant-Style, Made at Home)

Read this Recipe In Hindi/English

If there’s one dish that shows up at every Punjabi wedding, every Sunday brunch, and every roadside dhaba in North India, it’s chole. This chole recipe gives you that deep, dark gravy with the tangy, slightly smoky flavour you get in Amritsar and Delhi, without any fancy equipment or hard-to-find ingredients.

I’ve tested this Punjabi chole masala more times than I can count -with tea bags and without, with store-bought masala and homemade -and this version is the one that keeps winning. It’s rich, it’s properly spiced, and it tastes like the chole you’d get at an old-school Punjabi dhaba, not a watered-down home version.

Whether you call it chana masala, chole masala, or Indian chickpea curry, this is the recipe to bookmark. I’ll also show you the Instant Pot chole recipe method for busy weeknights, so you don’t need to plan a day ahead every time you’re craving it.

What Makes This Chole Recipe Different

Most people go wrong with chole in one of two places: the chickpeas turn out pale and bland, or the masala tastes flat because the onion-tomato base wasn’t cooked long enough. This recipe fixes both.

  • Deep brown color, naturally. We use black tea and a pinch of baking soda while boiling the chickpeas -the same trick used in Amritsari chole -so you get that restaurant-style dark gravy without adding artificial color.
  • A properly roasted spice mix. Store-bought chole masala works in a pinch, but dry-roasting your own whole spices and grinding them fresh makes a real difference. It takes five extra minutes and it’s worth it.
  • A slow-cooked onion-tomato base. This is the step everyone rushes. Cooking it low and slow until the oil separates is what gives chole its deep flavour instead of a raw, tangy taste.
  • Balanced tang, not overpowering. Amchur (dry mango powder) and anardana (dried pomegranate seed powder) give the classic Punjabi chole its signature tang without making it sour.

Chole Recipe Ingredients

This makes about 4-5 generous servings.

For Boiling the Chickpeas

  • 1 cup dried white chickpeas (kabuli chana), soaked overnight or for 8 hours
  • 4 cups water
  • 1 tea bag (or 1 tablespoon loose black tea tied in a muslin cloth)
  • 1 inch cinnamon stick
  • 2 black cardamoms
  • 1 bay leaf
  • ½ teaspoon salt
  • A small pinch of baking soda (optional, helps chickpeas cook faster and turn softer)

For the Chole Masala (Dry Roast & Grind)

  • 1 tablespoon coriander seeds
  • 1 teaspoon cumin seeds
  • 1 teaspoon fennel seeds
  • 2-3 dried red chillies
  • 4-5 black peppercorns
  • 2 cloves
  • 1 small piece cinnamon
  • 1 black cardamom
  • 1 teaspoon anardana (dried pomegranate seeds)

Shortcut: You can substitute this whole section with 2-2.5 tablespoons of good-quality store-bought chole masala powder.

For the Gravy

  • 3 tablespoons oil or ghee (ghee gives a more authentic flavour)
  • 1 teaspoon cumin seeds
  • 2 medium onions, finely chopped
  • 1 tablespoon ginger-garlic paste
  • 2 green chillies, slit
  • 3 medium tomatoes, pureed (or 1 cup tomato puree)
  • ¼ teaspoon turmeric powder
  • 1 teaspoon Kashmiri red chilli powder (for colour, adjust for heat separately)
  • ½ teaspoon amchur (dry mango powder)
  • Salt to taste
  • ½ cup water (adjust for desired gravy consistency)
  • 1 teaspoon kasuri methi (dried fenugreek leaves), crushed between palms
  • ½ teaspoon garam masala

For Garnish

  • Fresh coriander leaves, chopped
  • Julienned ginger
  • 1 green chilli, sliced (optional)

How to Make Punjabi Chole Masala (Step-by-Step)

Step 1: Soak and Boil the Chickpeas

Rinse the soaked chickpeas well and drain. Add them to a pressure cooker with 4 cups of water, the tea bag, cinnamon, black cardamom, bay leaf, and salt. Pressure cook on high for 5-6 whistles, then let the pressure release naturally. The chickpeas should be soft enough to mash easily between two fingers but still hold their shape. Remove the tea bag and whole spices, and set the chickpeas aside -keep the cooking liquid, you’ll need it later.

No pressure cooker? Boil the chickpeas in a covered pot for 1.5 to 2 hours, topping up water as needed, until soft.

Step 2: Make the Fresh Chole Masala

Dry roast the coriander seeds, cumin, fennel, dried red chillies, peppercorns, cloves, cinnamon, and black cardamom on low heat for 2-3 minutes until fragrant. Cool slightly, then grind with the anardana into a fine powder. Set aside.

Step 3: Build the Gravy Base

Heat oil or ghee in a heavy-bottomed pan. Add cumin seeds and let them sizzle for a few seconds. Add the chopped onions and sauté on medium heat until golden brown -this takes a good 8-10 minutes, so don’t rush it. This is the step that builds the real flavour of your chole.

Add the ginger-garlic paste and green chillies, and sauté for another minute until the raw smell disappears.

Step 4: Add Tomatoes and Spices

Add the tomato puree, turmeric, and red chilli powder. Cook on medium-low heat, stirring occasionally, until the oil starts separating from the masala at the edges of the pan -this usually takes 8-10 minutes. This is the sign your base is properly cooked.

Add the freshly ground chole masala (or store-bought powder) and amchur. Mix well and cook for another 2 minutes.

Step 5: Simmer the Chole

Add the boiled chickpeas along with about a cup of the reserved cooking liquid. Add extra water if you want a thinner gravy. Season with salt, cover, and simmer on low heat for 20-25 minutes, mashing a few chickpeas lightly against the side of the pan to naturally thicken the gravy.

Step 6: Finish and Serve

Crush the kasuri methi between your palms and stir it in along with the garam masala. Simmer for another 2-3 minutes. Turn off the heat, garnish with fresh coriander and ginger juliennes, and serve hot.

Instant Pot Chole Recipe (Quick Method)

For a faster version of this chana masala recipe, use your Instant Pot:

  1. Set the Instant Pot to Sauté mode, heat oil/ghee, and cook the onions, ginger-garlic paste, and green chillies as described above.
  2. Add tomato puree and spices, and sauté until the oil separates.
  3. Add the soaked (not pre-boiled) chickpeas, chole masala, salt, and 2.5 cups of water.
  4. Seal the lid, set to Pressure Cook on High for 35-40 minutes, and let the pressure release naturally for 10 minutes before opening.
  5. Switch back to Sauté, add kasuri methi and garam masala, and simmer for 3-4 minutes to adjust the consistency.

This one-pot method saves you a step, since you skip pre-boiling the chickpeas separately.

Serving Suggestions

Punjabi chole masala is traditionally served with bhatura, making the iconic chole bhature combo. But it’s just as good with:

  • Poori or tandoori roti
  • Steamed basmati rice or jeera rice
  • Kulcha or naan
  • A side of sliced onions, green chutney, and pickled chillies
  • A wedge of lemon and a simple onion-cucumber salad to balance the richness

Common Mistakes to Avoid

  • Skipping the soak time. Dried chickpeas need a full 8 hours (or overnight) to soak properly. Skipping this makes them harder to cook and digest.
  • Undercooking the onion-tomato base. If the masala still looks wet and the oil hasn’t separated, the gravy will taste raw and sour instead of rich.
  • Adding garam masala too early. Garam masala loses its aroma if it’s cooked for too long. Always add it towards the end.
  • Using unripe or sour tomatoes. This throws off the tang balance. If your tomatoes are too sour, reduce the amchur slightly.
  • Not mashing a few chickpeas. This small step gives the gravy body without needing cream or extra thickeners.

Variations You Can Try

  • Amritsari chole: Use black tea bags and skip the tomatoes almost entirely, relying on amchur and anardana for tang, with a generous hand of ghee.
  • Chole without onion-garlic: Skip onions and garlic, and add a pinch of hing (asafoetida) instead for a satvik version.
  • Chole with potatoes (Chana Aloo): Add boiled, quartered potatoes in the last 10 minutes of simmering for a heartier curry.
  • Restaurant-style dark chole: Add a small piece of charcoal in a bowl, place it in the pot, pour a few drops of ghee over it, and cover for 2 minutes for a smoky dhaba-style aroma (dhungar method).
  • Spicier version: Increase the green chillies and use a mix of Kashmiri and regular red chilli powder for both colour and heat.

Storage and Reheating

Chole tastes even better the next day, once the flavours have had time to sit.

  • Refrigerator: Store in an airtight container for up to 4 days.
  • Freezer: Freezes well for up to 2 months. Cool completely before freezing in a freezer-safe container.
  • Reheating: Reheat on the stovetop with a splash of water to loosen the gravy, or microwave in short bursts, stirring in between.

Frequently Asked Questions

Can I use canned chickpeas for this chole recipe?

Yes. Use 2 cans (about 2.5 cups, drained and rinsed) in place of the soaked, boiled chickpeas. Since canned chickpeas are already soft, add them directly to the gravy in Step 5 and simmer for just 10-12 minutes.

Why is my chole not turning dark brown?

The colour mainly comes from the black tea used while boiling and from cooking the onion-tomato masala long enough for the oil to separate. Using Kashmiri red chilli powder also helps without adding too much heat.

What is the difference between chana masala and chole masala?

They’re often used interchangeably, but chana masala usually refers to a lighter, everyday version made with a simpler masala, while Punjabi chole masala or Amritsari chole is richer, darker, and made with a more elaborate whole-spice blend and ghee.

Can I make this chole recipe without a pressure cooker?

Yes, simply boil the soaked chickpeas in a covered pot on the stovetop for about 1.5 to 2 hours, checking water levels occasionally, until they’re soft.

Is Punjabi chole masala vegan?

Yes, as long as you use oil instead of ghee. The rest of the recipe is naturally plant-based.

How do I make the gravy thicker without cream?

Mash a few boiled chickpeas directly in the pan while simmering. This thickens the gravy naturally without changing the authentic flavour.

What can I substitute for anardana or amchur?

If you don’t have either, a tablespoon of lemon juice added at the end works as a reasonable substitute for the tang.

This chole recipe is the kind of dish that gets better with practice -once you’ve made it a couple of times, you’ll know exactly how your family likes the spice and tang balanced. Serve it hot with bhature on a lazy Sunday, or pair it with jeera rice on a weeknight, and it’s guaranteed to disappear fast.

Translate »