One-Pot Butter Chicken
Prep time
Cook time
Total time
Inactive time: At least 30 minutes for marinating the chicken
Yield: Serves 2
  • 2 pieces chicken thigh
  • 2 tablespoons oil
  • 1 large onion, peeled and thinly sliced
  • 2 cloves garlic, peeled and minced
  • 1 tablespoon tomato paste (optional but recommended)
  • 2 cups chopped fresh tomatoes, about 2 large (3 cups if not using tomato paste, about 3 large)
  • 1½ tablespoons homemade garam masala (see below for recipe)
  • 1 teaspoon hot paprika
  • ½ teaspoon sugar
  • 250 ml water (1 cup)
  • 80 ml heavy cream, at least 30% fat (1/3 cup)
  • Salt and black pepper to taste
  • One large handful of coriander, chopped
  • 1 tablespoon unsalted butter
Chicken Marinade
  • 2 tablespoons plain yogurt
  • 1 tablespoon garam masala
  • ¼ teaspoon salt
  1. Cut chicken thigh into 1-inch pieces. Mix in Chicken Marinade and marinate for at least 30 minutes, up to overnight. If marinating for longer than 1 hour, place the chicken in the refrigerator, taking it out 30 minutes before cooking to let it come back to room temperature.
  2. Heat 1 tablespoon oil in a pot over medium-high heat. Add in chicken pieces in a single layer and sear until chicken pieces are browned on both sides. Transfer the chicken pieces with a slotted spoon and set aside.
  3. Turn the heat down to low and add in the remaining 1 tablespoon oil and add in the onion. Cook, stirring frequently, until the onion has softened, about 5 minutes.
  4. Turn the heat up to medium, add in garlic and cook for 1 minute. Add in tomato paste (if using), chopped tomatoes, garam masala, paprika and sugar. Stir to mix everything together then add in water.
  5. Turn the heat up to high and while waiting for the sauce to come to a boil, scrape up any bits stuck to the bottom of the pot. When the sauce is boiling, turn down the heat to a simmer and cover the pot. Simmer for 15 minutes, stirring occasionally. While the sauce is simmering, you can take this time to cook/heat up your rice/prata/naan.
  6. Remove the pot from heat. Puree the tomato mixture with an immersion blender or transfer the tomato mixture in batches into a standing blender (see Naggy Points below).
  7. Return the sauce to a simmer and add in the chicken thigh pieces and any juices accumulated in the bowl. Simmer for 3 to 5 minutes until the chicken is fully cooked.
  8. Stir in the cream and bring to a simmer. Taste the sauce and see if you want to add more garam masala or paprika. Season with salt then stir in as much coriander as desired. Serve immediately over rice or with naan/prata.
Naggy Notes
- Do note that my garam masala is homemade without salt. If yours contain salt, omit the salt in the Chicken Marinade and add 1 tablespoon garam masala instead of 1½ tablespoons at the start and adjust the amount at the end.

- Canned tomatoes can be used instead of fresh. If using canned tomatoes, add ½ cup of water instead of 1 cup, adding more if necessary.

- When pureeing the mixture, make sure the immersion blender is fully submerged inside the sauce so that it will not splatter. If using a standing blender, do it in batches and make sure the top is not covered as the steam may pop the lid off. Use a damp cloth to cover the top instead.

- If you are not serving the butter chicken immediately, stop at Step 7 and cover the pot. Just before serving, reheat the sauce to a simmer and proceed with Step 8.

- Adapted from Foodess
Recipe by Foodie Baker at