
Chole masala, or chana masala, is one of my absolute favorite comfort foods! This chickpea curry is bursting with warm spices, tangy tomatoes, and a creamy texture that’s simply divine. It’s the kind of dish that makes your kitchen smell incredible and has everyone asking for seconds.
I grew up watching my grandmother make this dish, and I’ve refined her recipe over the years to create what I truly believe is the BEST chole masala you’ll ever make at home. The secret is in layering your spices, using quality ingredients, and taking your time to let all those beautiful flavors develop together.
This recipe is naturally vegetarian, packed with protein from the chickpeas, and incredibly budget-friendly. Serve it over fluffy basmati rice, with warm naan bread, or even with a simple chickpea salad for a lighter option. What I adore most about this dish is how it brings people together—it’s comfort in a bowl.
The beauty of chole masala is that it actually tastes BETTER the next day, making it perfect for meal prep. I love to make a big batch on Sunday and enjoy it throughout the week. You can also freeze it for up to three months, though I guarantee you won’t have any leftovers!
Let me walk you through creating this restaurant-quality curry right in your own kitchen. According to Serious Eats, the key to great Indian cooking is understanding how to properly bloom your spices in fat, and that’s exactly what we’ll do here. This technique transforms dried spices into fragrant, complex layers of flavor.
I’ve tested this recipe countless times, and every single time it delivers. Whether you’re cooking for your family or impressing dinner guests, this chole masala recipe will become a staple in your kitchen. Let’s get cooking!
Ingredients
- 3 tablespoons ghee or vegetable oil
- 1 large yellow onion, finely diced
- 3 cloves garlic, minced
- 1 tablespoon fresh ginger, minced
- 2 teaspoons ground cumin
- 2 teaspoons ground coriander
- 1 teaspoon garam masala
- 1/2 teaspoon turmeric powder
- 1/2 teaspoon cayenne pepper (adjust to taste)
- 1/4 teaspoon asafetida (hing), optional but recommended
- 1 can (14.5 oz) diced tomatoes, or 2 cups fresh tomatoes, chopped
- 2 cans (15 oz each) chickpeas, drained and rinsed
- 3/4 cup coconut milk or heavy cream
- 1 cup vegetable or chicken broth
- 1 tablespoon tomato paste
- 1 teaspoon ginger-garlic paste
- 1 green chili, minced (optional)
- 1/2 teaspoon amchur (dried mango powder), optional
- Salt and black pepper to taste
- 2 tablespoons fresh cilantro, chopped
- 1 tablespoon kasuri methi (dried fenugreek leaves), optional
- Juice of 1/2 lemon or lime

Instructions
- Heat the ghee or oil in a large, heavy-bottomed pot or deep skillet over medium heat. Once shimmering, add the diced onions and cook for 5-7 minutes, stirring occasionally, until they become golden and translucent. This is crucial—don’t rush this step as it builds the flavor foundation.
- Add the minced garlic, fresh ginger, and ginger-garlic paste to the onions. Stir constantly for about 1-2 minutes until fragrant. Be careful not to let the garlic brown, as it will become bitter.
- Reduce heat to medium-low and add all your dry spices: ground cumin, ground coriander, garam masala, turmeric powder, cayenne pepper, and asafetida if using. Stir continuously for 1-2 minutes to bloom the spices in the oil. This is the magic moment where all those beautiful warm spices release their essential oils and aromatics.
- Add the tomato paste and stir it into the spice mixture, cooking for about 1 minute. This paste will caramelize slightly and add depth to your curry.
- Pour in the diced tomatoes (fresh or canned) and the minced green chili if using. Stir well to combine with all the spices. Let this simmer for 3-4 minutes, allowing the tomatoes to break down and the flavors to meld together.
- Add the drained chickpeas to the pot, stirring gently to coat them evenly with the spiced tomato mixture. Cook for 2-3 minutes, making sure every chickpea is coated with that gorgeous masala sauce.
- Pour in the vegetable or chicken broth and stir well. Bring the mixture to a gentle simmer over medium heat. Let it simmer uncovered for 8-10 minutes, allowing the flavors to develop and the sauce to thicken slightly.
- Stir in the coconut milk or heavy cream, which will add richness and help balance the spices with its creamy texture. If you prefer a thinner consistency, you can add more broth; for a thicker curry, let it simmer a bit longer.
- Add the optional amchur (dried mango powder) and kasuri methi (dried fenugreek leaves) if using. These add a subtle tanginess and herbaceous note that elevates the dish to restaurant quality. Stir well.
- Taste your curry and adjust the seasonings. Add salt and black pepper as needed. If you want more heat, add additional cayenne pepper. If it’s too spicy, add a splash more coconut milk or cream to mellow it out.
- Squeeze in the juice of half a lemon or lime just before serving. This bright acid is essential—it cuts through the richness and brings all the flavors into sharp focus. Don’t skip this step!
- Remove from heat and stir in the fresh cilantro. Serve hot over fluffy basmati rice, with warm naan bread, or alongside a crisp pickled red onion garnish for brightness.

Pro Tips
- Make-Ahead Magic: This curry tastes even better the next day as the flavors continue to develop and meld together. Make it up to 3 days ahead and store in an airtight container in the refrigerator, or freeze for up to 3 months.
- Spice Level Control: The heat in this recipe comes primarily from the cayenne pepper. Start with 1/2 teaspoon if you’re sensitive to spice, and work your way up. You can always add more, but you can’t take it out!
- Cream Alternatives: While coconut milk and heavy cream are my top choices, you can also use Greek yogurt (stir it in at the end to avoid curdling), cashew cream for a luxe touch, or even whole milk for a lighter version.
- Chickpea Substitution: You can use freshly cooked dried chickpeas for an even better texture, though canned are perfectly convenient and delicious. One can of chickpeas is roughly equivalent to 1.5 cups cooked dried chickpeas.
- Ingredient Quality Matters: Use whole spices ground fresh if possible, or quality ground spices from a store with good turnover. Stale spices won’t give you that beautiful depth of flavor.
- Ghee vs Oil: Ghee adds a wonderful richness and nutty flavor, but vegetable oil, coconut oil, or even olive oil work beautifully. Each brings slightly different notes to the dish.
- Tomato Tip: Fresh, ripe tomatoes will give you the best flavor, but high-quality canned tomatoes work wonderfully year-round. San Marzano varieties are my favorite.
- Serving Suggestions: Pair with basmati rice, jasmine rice, or quinoa. Naan bread, roti, or pita are perfect for scooping. Add a dollop of Greek yogurt or sour cream on top, and garnish with fresh cilantro and a sprinkle of chaat masala for extra pizzazz.
- Dietary Modifications: Naturally vegan when made with coconut milk and ghee or oil. Gluten-free when served with appropriate sides. High in fiber and plant-based protein.
- Batch Cooking: This recipe doubles beautifully if you’re meal prepping for the week. Make a large batch and portion into containers for easy lunches and dinners.
