
30-Minute Butter Chicken
Tender bite-size chicken thighs simmer in a silky, buttery tomato-cream sauce scented with garam masala, ginger and garlic. Small pieces and a quick yogurt marinade that works while you chop make this weeknight version ready in about 30 minutes. Serve with basmati rice or warm naan.
- Prep
- 8 min
- Cook
- 20 min
- Wait
- 2 min
- Total
- 30 min
- Makes
- 4 servings (about 5 cups curry)
Steps
Before you start
- Cut the chicken into ¾-inch (2 cm) pieces. Small, even pieces are what make the 30-minute timeline work.
- Measure all spices and have the tomato puree, cream and water within reach before you turn on the heat. The cooking moves quickly.
- Use tomato puree (smooth, uncooked purée or passata), not tomato paste or tomato sauce with added herbs.
- Start any rice or warm the naan now so it is ready when the curry is done.
Marinate the chicken
- In a medium bowl, stir together the yogurt, lemon juice, 1 tsp garam masala (marinade), chili powder, turmeric and 1 tsp salt.
- Add the chicken pieces and toss until every piece is thoroughly coated.
- Leave on the counter while you prep the aromatics in the next step.
+ Show details− Hide details
Ready when: Chicken is evenly coated in a thick, orange-red yogurt paste with no dry spots.
Tip: Don't marinate in the fridge for this quick version; cold chicken lowers the pan temperature and won't brown as well.
Prep the aromatics
- Finely dice the onion into ¼-inch (6 mm) pieces, grate the garlic and ginger, and chop the cilantro.
- Measure the cumin and coriander into one small pile, and have the tomato puree, water, sugar and cream ready by the stove.
+ Show details− Hide details
Ready when: Onion is in tiny, even pieces so it softens in just a few minutes.
Tip: A fine dice matters here. Large onion chunks won't soften in the short cooking time and the sauce will be less smooth.
Sear the chicken
- Heat the oil in a 12-inch (30 cm) skillet over medium-high heat until it shimmers, about 1 minute.
- Lift half the chicken from the marinade, letting excess drip off, and spread it in a single layer.
- Cook without moving for 1 minute, then stir and cook 1 more minute.
- Transfer to a clean plate and repeat with the remaining chicken, scraping any leftover marinade into the pan with the second batch.
+ Show details− Hide details
Ready when: Chicken is lightly browned in spots on the outside but still raw in the center; it will finish cooking in the sauce.
Tip: Work in two batches. Crowding the pan steams the chicken instead of browning it, and the browned bits are flavor for the sauce.
Soften the onion
- Reduce the heat to medium.
- Add the butter to the same skillet (no need to wash it).
- When it foams, add the diced onion and ½ tsp salt (sauce).
- Cook, stirring often and scraping up the browned bits, for 3 minutes.
+ Show details− Hide details
Ready when: Onion is soft, translucent and just beginning to turn golden at the edges.
Tip: If the browned bits start to look scorched rather than golden, lower the heat and add a splash of water.
Bloom garlic and spices
- Add the grated garlic, ginger, cumin and coriander.
- Stir constantly for 1 minute.
+ Show details− Hide details
Ready when: The mixture smells fragrant and toasty, like cooked spices, with no raw garlic smell.
Tip: Don't let the garlic brown; it turns bitter. Move straight to the next step if it starts to color.
Simmer the sauce base
- Pour in the tomato puree and water, then add the sugar.
- Stir well, scraping the bottom of the pan.
- Raise the heat to medium-high and bring to a lively simmer, then cook, stirring occasionally, for 4 minutes.
+ Show details− Hide details
Ready when: Sauce is thicker, darker red-orange, and glossy orange butter pools at the edges of the pan.
Tip: Partially cover with a lid if the sauce spatters.
Cook chicken in sauce
- Return the chicken and any juices from the plate to the skillet.
- Stir to coat, reduce the heat to medium-low, and cover.
- Simmer for 6 minutes, stirring once halfway.
- Check a thick piece with an instant-read thermometer.
+ Show details− Hide details
Ready when: Chicken reads at least 165°F (74°C) and the cut sides are opaque white with no pink. Thighs are most tender at 175°F (79°C).
Tip: If the sauce gets too thick, add 2–3 tbsp water. If it's thin, simmer uncovered for the last 2 minutes.
Finish with cream
- Turn the heat to low.
- Stir in the cream, the remaining 1 tsp garam masala, and the crushed kasuri methi if using.
- Warm gently for 2 minutes, stirring, without letting it boil hard.
- Taste and add salt, a pinch at a time, until the flavors pop.
+ Show details− Hide details
Ready when: Sauce is uniformly creamy and pale orange, coats the back of a spoon, and shows no streaks of cream.
Tip: Boiling after the cream goes in can cause the sauce to split. Keep it at a bare simmer.
Rest and serve
- Take the skillet off the heat and let it sit uncovered for 2 minutes so the sauce thickens slightly and the flavors settle.
- Scatter the cilantro over the top and serve with rice or naan.
+ Show details− Hide details
Ready when: Sauce clings to the chicken and spoon rather than running off.
Good to know
Tips
- Thighs stay juicy in the quick simmer; breasts overcook easily, so thighs are strongly recommended.
- For a smoother, restaurant-style sauce, blend the sauce with an immersion blender before returning the chicken, or after step 6, with the chicken set aside.
- Adjust balance at the end: a pinch more salt brightens it, a little more sugar or cream softens acidity from the tomatoes.
- For more heat, add 1 finely chopped green chili with the garlic and ginger.
Make ahead
The chicken can be tossed in the marinade up to 24 hours ahead and refrigerated; bring it to room temperature for 15 minutes before searing. The whole curry can be cooked 2 days ahead, and the flavor improves overnight.
Storage & reheating
Room temperature: up to 2 hours. Refrigerator: airtight container for up to 4 days. Freezer: up to 3 months (the sauce may look slightly grainy after thawing; whisk well while reheating). Reheat gently in a saucepan over low heat, adding a splash of water or cream to loosen, until steaming hot and 165°F (74°C) throughout.
Substitutions
- heavy cream → full-fat canned coconut milk. Gives a dairy-free sauce with a subtle coconut flavor; stir in at the same point and keep at a gentle simmer.
- boneless, skinless chicken thighs → boneless, skinless chicken breast. Cut the same size; simmer 4–5 minutes only and remove at 165°F (74°C) to avoid dryness.
- Kashmiri chili powder (or mild paprika) → sweet paprika plus a pinch of cayenne. Kashmiri chili gives color with mild heat; this mimics it. Use ¼ tsp cayenne or less to keep it mild.
- unsalted butter → ghee. Use the same amount for a nuttier flavor and a higher smoke point.
More curries
See all →Find more like this
- Meal
- Dinner
- Cuisine
- North Indian
- Main ingredient
- Chicken Thighs
- Diet
- Gluten-FreeHalal
- Method
- Stovetop





