30-Minute Butter Chicken

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)
Share

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.
  1. 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

    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.

  2. 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

    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.

  3. 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

    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.

  4. 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

    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.

  5. Bloom garlic and spices

    • Add the grated garlic, ginger, cumin and coriander.
    • Stir constantly for 1 minute.
    + Show 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.

  6. 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

    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.

  7. 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

    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.

  8. 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

    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.

  9. 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

    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
Main ingredient
Chicken Thighs
Method
Stovetop

Reviews (0)