This Indian classic features tender chicken thighs marinated in yogurt and aromatic spices, then pressure-cooked to perfection in a rich tomato-based sauce. The finished dish gets velvety with heavy cream and a finishing pat of butter, creating that restaurant-quality texture and flavor. Perfect served over fluffy basmati rice or alongside warm naan for soaking up every drop of sauce.
The first time I made butter chicken at home, I stood over my Instant pot watching the steam escape and practically vibrating with anticipation. My roommate kept wandering into the kitchen asking what smelled so incredible, that intoxicating blend of toasted spices and butter. When I finally spooned it over basmati rice, I took one bite and realized I would never order takeout again. This recipe has rescued countless weeknight dinners when we needed something comforting but didn't have hours to spend at the stove.
Last winter my sister came over after a terrible week at work, and I decided to make butter chicken to cheer her up. She walked through the door, stopped dead in her tracks, and said please tell me that's what I think it is. We ate it standing up at the counter, too impatient to even sit down, and she told me it was better than our favorite restaurant downtown. Now whenever she visits, this is the first thing she requests.
Ingredients
- Chicken thighs: Thighs stay juicy and tender better than breasts, which can dry out under pressure
- Greek yogurt: The acidity tenderizes the meat while the thickness helps the spices cling
- Garam masala: This warming spice blend is the backbone of the dish, so use fresh if possible
- Tomato puree: Creates that deep red color and concentrated tomato flavor without extra liquid
- Heavy cream: Transform the sauce into something luxurious and silky smooth
- Butter: Use real butter here, not substitutes, for that authentic rich finish
Instructions
- Marinate the chicken:
- Combine chicken with yogurt, lemon juice, ginger, garlic, and spices in a large bowl, making sure every piece is coated. Cover and refrigerate for at least one hour, though overnight is even better for tender meat.
- Sauté the aromatics:
- Set your Instant Pot to Sauté mode and melt butter until it foils slightly. Cook onions, garlic, and ginger paste until the onions turn soft and translucent, about 3 to 4 minutes.
- Build the sauce base:
- Pour in the tomato puree and add cumin, smoked paprika, coriander, and cayenne. Let this cook for 2 minutes while stirring constantly, until the mixture darkens slightly and smells incredibly fragrant.
- Pressure cook everything:
- Add the marinated chicken plus all that flavorful yogurt marinade into the pot. Secure the lid and cook on Manual or Pressure Cook for 8 minutes on high.
- Finish with cream:
- After a 10-minute natural release, quick release any remaining pressure. Stir in the heavy cream and remaining butter, then simmer on Sauté for 2 to 3 minutes until the sauce thickens enough to coat a spoon.
I once made this for a dinner party and my friend's husband, who claims he hates Indian food, went back for thirds. He admitted he'd only ever had overly spicy, greasy versions at buffets. This recipe completely changed his mind about what Indian home cooking could taste like, and now he asks me for the recipe every time we get together.
Make It Your Own
Don't be afraid to adjust the heat level to your preference, starting with less cayenne and adding more at the end. Sometimes I add a pinch of fenugreek leaves, called kasuri methi, which gives it that authentic restaurant flavor everyone asks about. If you're dairy free, full fat coconut milk works surprisingly well as a cream substitute.
Serving Suggestions
Basmati rice is classic, but I've also served this over cauliflower rice when trying to cut carbs. Warm naan bread is nonnegotiable for scooping up every last drop of that incredible sauce. A simple cucumber salad with yogurt dressing on the side cuts through the richness beautifully and adds some fresh crunch.
Storage & Meal Prep
This actually tastes better the next day as the spices continue to meld together in the refrigerator. Store in airtight containers for up to four days, and reheat gently on the stove with a splash of water or cream to loosen the sauce.
- Freeze individual portions for up to three months for emergency weeknight dinners
- Double the recipe and freeze half, since it freezes exceptionally well
- The sauce can be made ahead and stored separately from the chicken
There's something deeply satisfying about making a dish that tastes this good with so little active effort. Your house will smell amazing, and people will think you spent hours over the stove.
Recipe FAQs
- → How long should I marinate the chicken?
-
Marinate the chicken for at least 1 hour, but overnight marination yields the most tender and flavorful results. The yogurt and spices penetrate deeply, ensuring each bite is perfectly seasoned.
- → Can I make this dairy-free?
-
Yes, substitute coconut milk or coconut cream for both the yogurt marinade and heavy cream. Use coconut oil or ghee in place of butter. The flavor profile will shift slightly but remains delicious.
- → Is this dish very spicy?
-
This version offers mild to medium heat. Adjust the cayenne and chili powder to your preference. The cream and butter naturally mellow the spice, creating a balanced, family-friendly dish.
- → What's the difference between butter chicken and tikka masala?
-
Butter chicken features a smoother, creamier tomato sauce finished with butter, while tikka masala typically has a spicier, more complex sauce. Both start with marinated chicken, but butter chicken is milder and richer.
- → Can I use chicken breasts instead of thighs?
-
Yes, though thighs remain more tender and juicy during pressure cooking. If using breasts, reduce cooking time to 6 minutes to prevent drying, and avoid overcooking.