I made chana masala three times before I got it right. The first batch was watery and bland. The second time I burned the spices. But the third time? My kids scraped their bowls clean and asked for seconds.
Chana masala is one of those dishes that looks complicated but really isn’t. It’s chickpeas simmered in a tomato-based sauce with warming spices like cumin, coriander, and garam masala. The result is hearty, satisfying, and packed with protein.
This is proper comfort food. The kind of thing you want on a cold evening with warm naan bread or fluffy basmati rice.

What Makes This Dish Special
The magic happens when you toast the whole spices first. That step releases oils and deepens the flavor in a way that pre-ground spices just can’t match. I used to skip this because it seemed fussy, but trust me, it makes a difference.
The other secret is cooking the tomato base long enough. If you rush it, the sauce stays thin and acidic. Give it time to cook down and thicken, and you get this rich, velvety sauce that clings to every chickpea.
This recipe works great as a main dish for vegetarians or as a side for any Asian cuisine spread. I’ve served it alongside Korean Bibimbap Bowl for a fun mix of flavors, and it holds its own next to heavier dishes like Indian Butter Chicken.
When to Make This
I make chana masala when I want something filling but not heavy. It’s perfect for meal prep because it actually tastes better the next day after the flavors have had time to hang out together.
It works for weeknight dinners if you use canned chickpeas. The whole thing comes together in about 30 minutes. If you’re feeling ambitious, you can soak and cook dried chickpeas, but honestly, canned works great.
This is also a good dish when you’re cooking for a crowd. It’s naturally vegan, filling, and most people love it. I’ve made it for potlucks and always come home with an empty pot.
How to Store It
Keep leftovers in an airtight container in the fridge for up to 5 days. The sauce thickens as it sits, so add a splash of water when you reheat it.
You can freeze chana masala for up to 3 months. Let it cool completely before freezing. Thaw in the fridge overnight and reheat on the stove.
The flavors meld together over time, so day-two chana masala is actually better than fresh. That makes it perfect for Sunday meal prep.
Ingredients
For the Base:
- 2 tablespoons vegetable oil or ghee
- 1 large onion, finely chopped
- 3 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 2 large tomatoes, chopped (or 1 can diced tomatoes)
- 2 cans (15 oz each) chickpeas, drained and rinsed
Whole Spices:
- 1 teaspoon cumin seeds
- 1 bay leaf
- 2-3 green cardamom pods
Ground Spices:
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- 1/2 teaspoon turmeric
- 1/2 teaspoon red chili powder (adjust to taste)
- 1 teaspoon garam masala
- Salt to taste
For Finishing:
- 1/2 cup water or vegetable broth
- Juice of half a lemon
- Fresh cilantro for garnish
- 1 teaspoon kasuri methi (dried fenugreek leaves), optional but recommended

Instructions
- Toast the whole spices. Heat oil in a large pan over medium heat. Add cumin seeds, bay leaf, and cardamom pods. Let them sizzle for about 30 seconds until fragrant. Don’t walk away during this step or they’ll burn.
- Cook the onions. Add chopped onion and a pinch of salt. Cook for 6-7 minutes, stirring occasionally, until the onions turn golden brown. This takes longer than you think. Be patient.
- Add aromatics. Stir in garlic and ginger. Cook for another minute until you can smell them.
- Build the tomato base. Add chopped tomatoes and all the ground spices (coriander, cumin, turmeric, chili powder, and salt). Cook for 8-10 minutes, stirring often, until the tomatoes break down and the oil starts to separate from the sauce. The mixture should look thick and dark.
- Add chickpeas. Toss in the drained chickpeas and stir everything together. Pour in water or broth. Bring to a simmer.
- Let it simmer. Reduce heat to low and let the curry simmer for 10-12 minutes. The sauce will thicken and the chickpeas will absorb the flavors. Mash a few chickpeas against the side of the pan with your spoon to help thicken the sauce.
- Finish it. Stir in garam masala, kasuri methi if using, and lemon juice. Taste and adjust salt. Turn off the heat and let it sit for 5 minutes before serving.
- Serve. Garnish with fresh cilantro. Serve with basmati rice, naan bread, or roti.

Notes
The kasuri methi (dried fenugreek leaves) adds an authentic flavor that’s hard to describe but totally worth seeking out. You can find it at Indian grocery stores or online. If you can’t get it, the dish still works without it.
I like my chana masala on the thicker side. If you prefer it saucier, add more water during the simmering step. You can always add liquid but you can’t take it away.
For extra richness, stir in a tablespoon of heavy cream or coconut cream at the end. This isn’t traditional, but it makes the dish feel more indulgent.
If you want more heat, add sliced green chilies when you add the tomatoes. I usually add one or two depending on who I’m feeding.
This pairs beautifully with other dishes from our Asian cuisine collection, especially lighter options like Vietnamese Pho Ga or Thai Tom Yum Soup. The hearty, spiced chickpeas make a nice contrast to those brothy, aromatic soups.
For a complete Indian meal, serve this alongside Indian Butter Chicken and Indian Biryani Rice. The combination gives you a range of textures and flavors that work really well together.
Indian Chana Masala
Hearty chickpea curry cooked with tomatoes and warming spices
Ingredients
For the Base:
- 2 tablespoons vegetable oil or ghee
- 1 large onion, finely chopped
- 3 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 2 large tomatoes, chopped (or 1 can diced tomatoes)
- 2 cans (15 oz each) chickpeas, drained and rinsed
Whole Spices:
- 1 teaspoon cumin seeds
- 1 bay leaf
- 2-3 green cardamom pods
Ground Spices:
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- 1/2 teaspoon turmeric
- 1/2 teaspoon red chili powder (adjust to taste)
- 1 teaspoon garam masala
- Salt to taste
For Finishing:
- 1/2 cup water or vegetable broth
- Juice of half a lemon
- Fresh cilantro for garnish
- 1 teaspoon kasuri methi (dried fenugreek leaves), optional but recommended
Instructions
- Toast the whole spices. Heat oil in a large pan over medium heat. Add cumin seeds, bay leaf, and cardamom pods. Let them sizzle for about 30 seconds until fragrant. Don’t walk away during this step or they’ll burn.
- Cook the onions. Add chopped onion and a pinch of salt. Cook for 6-7 minutes, stirring occasionally, until the onions turn golden brown. This takes longer than you think. Be patient.
- Add aromatics. Stir in garlic and ginger. Cook for another minute until you can smell them.
- Build the tomato base. Add chopped tomatoes and all the ground spices (coriander, cumin, turmeric, chili powder, and salt). Cook for 8-10 minutes, stirring often, until the tomatoes break down and the oil starts to separate from the sauce. The mixture should look thick and dark.
- Add chickpeas. Toss in the drained chickpeas and stir everything together. Pour in water or broth. Bring to a simmer.
- Let it simmer. Reduce heat to low and let the curry simmer for 10-12 minutes. The sauce will thicken and the chickpeas will absorb the flavors. Mash a few chickpeas against the side of the pan with your spoon to help thicken the sauce.
- Finish it. Stir in garam masala, kasuri methi if using, and lemon juice. Taste and adjust salt. Turn off the heat and let it sit for 5 minutes before serving.
- Serve. Garnish with fresh cilantro. Serve with basmati rice, naan bread, or roti.
Nutrition Per Serving
Kitchen Notes
Kasuri Methi: The kasuri methi (dried fenugreek leaves) adds an authentic flavor that’s hard to describe but totally worth seeking out. You can find it at Indian grocery stores or online. If you can’t get it, the dish still works without it.
Thickness: I like my chana masala on the thicker side. If you prefer it saucier, add more water during the simmering step. You can always add liquid but you can’t take it away.
Extra Richness: For extra richness, stir in a tablespoon of heavy cream or coconut cream at the end. This isn’t traditional, but it makes the dish feel more indulgent.
Heat Level: If you want more heat, add sliced green chilies when you add the tomatoes. I usually add one or two depending on who I’m feeding.
Storage: Keep leftovers in an airtight container in the fridge for up to 5 days. The sauce thickens as it sits, so add a splash of water when you reheat it. Can freeze for up to 3 months. The flavors actually get better after a day or two.
