Main Courses
This Cook's Illustrated butter chicken recipe delivers the restaurant-quality richness you crave—tender, marinated chicken in a velvety tomato-yogurt sauce with perfectly caramelized onions. 💛 I developed this version after years of perfecting the balance between sweet, tangy, and smoky flavors, ensuring every bite is infused with depth without being overpowering.
The secret lies in the marinade: yogurt tenderizes the chicken while spices penetrate deeply, and slow braising transforms tough cuts into melt-in-your-mouth pieces. Caramelizing onions for 20 minutes builds layers of sweetness that form the sauce's foundation, while simmering with tomatoes and cream creates that signature velvety texture.
This isn't just butter chicken—it's a technique that transforms a weeknight dinner into a standout meal.
By the time you serve it over basmati rice or warm naan, you'll have a dish that rivals your favorite Indian restaurant—golden-brown chicken swimming in a sauce that's rich yet balanced, with just the right amount of heat and sweetness.
The aroma alone will have everyone gathering at the table, and the first bite will silence any skepticism. Ready to master this?
This recipe scales perfectly for crowds, and leftovers reheat beautifully, making it ideal for meal prep or entertaining. The optional garnish of toasted cashews and fresh cilantro adds crunch and brightness, but even without them, the flavors shine through. Let's get cooking—your taste buds will thank you.
Ingredients for cook's illustrated butter chicken
Pantry staples meet Indian spices—just 15 minutes prep for restaurant-quality butter chicken.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 1 ½ lb | Cut into 1-inch pieces |
| Plain Yogurt 🥛 | 1 cup | Full-fat for creaminess |
| Yellow Onions 🧅 | 2 whole | Thinly sliced for caramelizing |
| Garlic Cloves 🧄 | 6 cloves | Peeled and minced finely |
| Ginger Root 🌿 | 1 tbsp | Freshly grated, not powdered |
| Canned Crushed Tomatoes 🍅 | 1 can | 28 oz, San Marzano preferred |
| Heavy Whipping Cream 🥛 | ½ cup | Full-fat for richness |
| Garam Masala 🌶️ | 1 tbsp | Freshly toasted preferred |
| Ground Cumin 🌿 | 1 tsp | Toasted for deeper flavor |
| Ground Coriander 🌿 | 1 tsp | Freshly ground preferred |
| Turmeric Powder 🌶️ | ½ tsp | Freshly ground for potency |
| Kashmiri Chili Powder 🌶️ | ½ tsp | For color and mild heat |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Unsalted Butter 🧈 | 3 tbsp | Cold for caramelizing onions |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
The chicken thighs are non-negotiable here—bone-in stays too chewy, and breasts dry out. Trader Joe's or Whole Foods carry excellent cuts, but any grocery store's pre-trimmed thighs work. Look for pieces with good marbling—they stay juicier during the long braise. The yogurt should be plain and full-fat (Greek or regular), not flavored or low-fat. Fage is my go-to, but any brand with thick, creamy texture does the job. For the garam masala, Madras or M.P. Birla are top-tier—if you can't find them, toast your own blend of cinnamon, cardamom, cloves, and black peppercorns.
No garam masala? Mix 1/2 tsp each cumin, coriander, turmeric, and a pinch of cinnamon—it won't be identical, but it'll work. Fresh ginger always wins over powdered, but if you're in a pinch, use half the amount of powdered ginger. The tomatoes? San Marzano cans are worth the splurge—they're sweeter and less acidic. For the onions, yellow or red both work, but avoid sweet onions (they won't caramelize properly). The butter matters too—European-style unsalted like Plugrá or Land O'Lakes has higher fat content, which helps create that signature velvety sauce. If you're out of heavy cream, half-and-half plus 1 tbsp butter gets you close.
This sauce gets better with time—3-4 days in the fridge is ideal, with flavors deepening each day. The chicken reheats beautifully; just warm it gently on the stove with a splash of water to prevent drying. For storage, keep the sauce and chicken separate in airtight containers. The sauce freezes for up to 3 months, but the texture changes slightly (it'll be thicker). If you're prepping for a crowd, double the sauce and halve the chicken per batch—the sauce is the star here. Garnish with cilantro right before serving, or it'll wilt in the heat.
Why You'll Love This Recipe
- There’s no way around it: those thinly sliced yellow onions need 15-20 minutes of slow cooking in cold butter to turn sweet and golden. But honestly, the deep, buttery richness they bring? Worth every minute. It’s the secret sauce’s unsung hero.
- Marinate While You Sleep: That yogurt marinade with full-fat plain yogurt, garam masala, and toasted spices? It does all the work for you while you rest. Just toss the chicken thighs in there the night before, and you’re left with golden-brown sears and maximum flavor—no last-minute rushing.
- Caramelized Onions, No Shortcuts: There’s no way around it: those thinly sliced yellow onions need 15-20 minutes of slow cooking in cold butter to turn sweet and golden. But honestly, the deep, buttery richness they bring? Worth every minute. It’s the secret sauce’s unsung hero.
- Leftovers That Improve: This isn’t your average takeout leftovers. The sauce gets richer and more complex over 3-4 days in the fridge—each bite tastes like it’s been simmered for hours. Freeze portions too, but trust me, the fresh version wins.
Step-by-step instructions for tomato-braised butter chicken
Here's how we build rich, velvety butter chicken with caramelized onions and deep tomato flavor.
🍳 Step 1: Marinate and Sear the Chicken
Cut the 1.5 lb boneless chicken thighs into 1-inch pieces and place them in a bowl. In a separate small bowl, whisk together 1 cup plain yogurt, 1 tbsp garam masala, 1 tsp ground cumin, 1 tsp ground coriander, 0.5 tsp turmeric powder, 0.5 tsp kashmiri chili powder, and 1.5 tsp salt. Pour this marinade over the chicken and coat thoroughly. Cover and refrigerate for at least 4 hours (overnight is even better).
When ready to cook, heat a large Dutch oven over medium-high heat. Add 3 tbsp unsalted butter and let it melt completely. Working in batches, add the marinated chicken pieces and sear for 3-4 minutes per side until golden brown. You'll notice the yogurt marinade caramelizing slightly—this builds deep flavor. Transfer the seared chicken to a plate and set aside.
🥘 Step 2: Caramelize the Onions and Build the Sauce Base
In the same Dutch oven, reduce heat to medium-low and add 2 whole yellow onions that have been thinly sliced. Cook them slowly for 15-20 minutes, stirring occasionally, until they turn deep golden brown and sweet. This caramelization is what gives butter chicken its signature richness.
Add 6 cloves minced garlic cloves and 1 tbsp freshly grated ginger root to the onions. Cook for 1-2 minutes until fragrant—you should smell the garlic and ginger blooming. Pour in the 1 can canned crushed tomatoes and stir well. Bring to a gentle simmer and let it cook uncovered for 10 minutes to allow the raw acidity to mellow.
🍳 Step 3: Simmer the Chicken in the Tomato Sauce
Return the seared chicken to the Dutch oven along with any accumulated juices. Stir to combine, then add 0.5 cup heavy whipping cream. Reduce heat to low and cover partially. Let it simmer gently for 25-30 minutes, stirring occasionally, until the chicken is tender and the sauce has thickened slightly. The sauce should coat the back of a spoon when you lift it—this indicates proper consistency.
Here's the thing—don't rush this step. The low heat allows the flavors to meld beautifully while keeping the chicken tender. If the sauce reduces too quickly, add 2-3 tablespoons of water to maintain the right consistency. Taste and adjust seasoning if needed, adding a pinch more salt or garam masala if desired.
🔪 Step 4: Finish and Garnish
Once the chicken is fully cooked and the sauce has reached your desired consistency, remove the Dutch oven from heat. Stir in the 0.25 cup chopped fresh cilantro and let it steep for 2 minutes to infuse the sauce with fresh herb brightness. The cilantro should be evenly distributed throughout the dish.
Serve immediately over basmati rice or with warm naan bread. The finished butter chicken should have tender, juicy chicken pieces swimming in a rich, slightly sweet tomato-cream sauce with caramelized onions. Each bite should deliver a perfect balance of creamy, tangy, and spicy flavors with the aromatic garam masala notes.
Pro Tips For Making Cook'S Illustrated Butter Chicken
- Slice Onions Thinly: I learned this the hard way—thick onion slices won’t caramelize evenly, and you’ll end up with half-burnt edges and pale centers. Use a sharp knife or mandoline for paper-thin slices, and cook them in batches if needed. The goal is golden, jammy sweetness, not crispy bits.
- Toast Spices First: That garam masala and cumin taste flat if you just whisk them into the yogurt. Toast them dry in a small pan for 30 seconds until fragrant—just until you smell their warmth, not smoke. Then mix into the marinade. It’s the difference between "good" and "wow."
- Don’t Skip the Yogurt Caramelization: When you sear the chicken, the yogurt marinade will bubble and brown slightly—let it happen. It’s not burning; it’s building depth. If you rush and wipe it off, you lose that nutty, caramelized flavor that makes the dish sing. High heat, patience, and a little less fiddling.
- Simmer Low and Slow: The 25-30 minutes at low heat isn’t optional. High heat turns the sauce grainy and the chicken rubbery. Keep the lid slightly ajar so moisture escapes just enough to thicken the sauce naturally. Taste the sauce at 20 minutes—if it’s still raw, that’s normal. Trust the process.
Perfect pairings for this recipe
Rice Pairings
Basmati rice is the non-negotiable companion to butter chicken—its fragrant, fluffy texture absorbs every last drop of sauce.
I always use 1 cup basmati rice per serving, rinsed until the water runs clear, then cooked in 1.5 cups water with ½ tsp salt and 1 bay leaf for 15 minutes on low heat. The subtle nutty notes complement the dish beautifully.
For extra richness, stir in 1 tbsp ghee while cooking. 🍚
Naan Bread
Homemade naan, crispy on the outside with a soft, pillowy center, makes the perfect handheld vessel for butter chicken. I use my Lodge cast iron skillet to cook store-bought naan—just heat it over medium-high for 2-3 minutes per side until golden.
For an authentic touch, brush with melted ghee before serving. 🔥
Mango Lassi
The creamy, slightly sweet mango lassi cuts through the richness of butter chicken beautifully. Blend 1 cup plain yogurt, ½ cup ripe mango chunks, 1 tsp rose water, 1 tbsp honey, and ½ tsp cardamom powder until smooth.
Serve chilled—it’s the perfect palate cleanser after each bite. 🍈
Pickled Red Onions
A tangy contrast balances the creamy sauce. Thinly slice ½ red onion, soak in ½ cup white vinegar, 1 tbsp sugar, and ½ tsp salt for 30 minutes.
Drain and add ½ tsp red chili flakes for heat. Garnish just before serving to keep them crisp. 🌶️
Butter Chicken Flatbread
For a lighter option, try a butter chicken flatbread—a thin, crispy naan stuffed with extra sauce. Spread ¼ cup sauce on a naan, fold it into a half-moon, and pan-fry in 1 tbsp butter until golden.
This is my go-to when I want to sneak in extra flavor without extra carbs. 🥖
Nutrition facts
Frequently asked questions
Why does this recipe use chicken thighs instead of breasts?
Chicken thighs stay juicier during the long braising time because of their higher fat content. They also absorb marinades better, creating tender, flavorful pieces that melt in your mouth—exactly what you want in butter chicken. Breasts dry out too easily with this cooking method.
How do I adjust the spice level if I don't like heat?
Reduce the Kashmiri chili powder to ¼ tsp or omit it entirely. For extra flavor without heat, add ½ tsp extra garam masala or a pinch of cinnamon. The dish still delivers rich, aromatic notes without spice.
Can I make this recipe ahead of time?
The sauce tastes even better after 3-4 days in the fridge—flavors deepen beautifully. Store chicken and sauce separately in airtight containers. Reheat gently on the stove with a splash of water to restore moisture. The sauce also freezes well for up to 3 months, though it'll be thicker when thawed.
What if my onions burn before caramelizing?
Lower the heat to low immediately and cover the Dutch oven with a lid for 2-3 minutes to cool them. Stir occasionally to prevent sticking. If they darken too quickly, remove them from the pan and set aside—you can always add them back later once they've cooled. This happens when the pan is too hot.
