Creamy Butter Chicken with White Beans
This creamy butter chicken swaps heavy cream for a white bean purée, delivering restaurant-quality richness with added fiber and protein. The spiced tomato sauce stays authentically Indian while the secret ingredient makes it lighter without sacrificing taste.

Total
40 minServings
4
Ingredients
Check what you already have. We'll leave it off your shopping list.
20 Ingredients
CookOS may earn a commission from Instacart orders.
Powered by
Prices vary by store
*Service fees apply. Instacart® and the Instacart logo are registered trademarks of Maplebear Inc. d/b/a Instacart.
Instructions
- 1
In a large bowl, combine the plain yogurt, ginger paste, garlic paste, garam masala, cumin, paprika, turmeric, and salt. Whisk until smooth to create the marinade.
- 2
Add the cubed chicken breast to the marinade and mix until fully coated.
- 3
Heat ghee in a large skillet over medium-high heat.
- 4
Add the marinated chicken to the skillet and sear on all sides until browned and cooked through. Remove the chicken from the skillet and set aside.
- 5
In a blender, combine the rinsed and drained white beans with milk. Blend until a thick, smooth purée forms.
- 6
In the same skillet, add the tomato paste and tomato sauce. Cook for 1-2 minutes, stirring frequently.
- 7
Stir in the white bean purée and mix to combine with the tomato base.
- 8
Pour in the heavy cream and stir until the sauce is smooth and uniform in color.
- 9
Return the seared chicken to the skillet with the sauce and stir to combine.
- 10
Add the sugar and cubed butter to the skillet. Stir until the butter is fully melted and incorporated. Let the sauce simmer for a few minutes.
- 11
Serve hot, garnished with a drizzle of yogurt and fresh chopped cilantro.
Was this recipe helpful?
Tips & Notes
Pro tips
- Cube chicken to uniform 1.5-inch pieces so they cook evenly in the sauce; smaller pieces dry out faster.
- Bloom your spices (garam masala, cumin, paprika) in the ghee for 30 seconds before adding yogurt to deepen their flavor.
- Purée the white beans until completely smooth to avoid gritty texture; a high-speed blender or food processor works best.
- Taste and adjust salt at the end since yogurt and beans absorb seasoning differently; add in 1/4 tsp increments.
Substitutions
- Plain yogurt → Greek yogurt (use 1/3 cup for less liquid; sauce will be thicker)
- Ghee → butter or neutral oil (ghee adds nutty flavor; oil works but tastes less rich)
- Boneless chicken breast → bone-in thighs (adds moisture; increase cooking time by 5–10 minutes)
- White beans → chickpeas (heartier texture; same puréeing method applies)
Storage & make-ahead
Refrigerate in an airtight container for up to 3 days, or freeze for up to 2 months. Reheat on the stovetop over medium heat, adding water or broth if sauce has thickened.
Common Questions
Can I use canned white beans instead of dried?
Yes. Use 1.5 cups drained canned white beans (about one 15 oz can). Reduce the liquid when puréeing since canned beans retain more moisture.
What if I don't have garam masala?
Blend equal parts ground cumin, coriander, cardamom, and cloves. You'll need about 2 tsp total. The dish won't be identical but will stay flavorful.
How do I know when the chicken is cooked through?
Chicken is done when it reaches 165°F (74°C) internally, or when it's opaque throughout with no pink. In a creamy sauce, it should flake easily with a fork.
Can I make this ahead?
Yes. Cool completely, store in an airtight container for up to 3 days, or freeze for 2 months. Reheat gently on the stovetop with a splash of water to restore sauce consistency.
Is this recipe dairy-free if I use a dairy-free yogurt?
The yogurt can be swapped for a dairy-free version, but ghee contains milk solids. Use clarified ghee or coconut oil to make it fully dairy-free.










