Homemade Butter Chicken Recipe tastes rich, creamy, and mildly spiced, with tender chicken in a silky tomato-butter sauce that feels like a hug in a bowl. It works perfectly for busy weeknights or cozy weekends, and you can get it on the table in about 45 to 60 minutes, depending on how fast you chop. I first tested this version after a long day, still in my slippers, and my family scraped the pan clean in silence, which counts as the highest compliment in my house.
Why Make This Homemade Butter Chicken Recipe at Home
Restaurant butter chicken tastes amazing, but it often comes with a heavy price tag and mystery ingredients. When you cook it at home, you control the spice level, the richness, and the quality of the chicken and dairy.
You also stretch your budget, feed more people, and enjoy leftovers that taste even better the next day. Plus, your kitchen smells like your favorite Indian restaurant, and you get full bragging rights at the table.
This Homemade Butter Chicken Recipe tastes better than our local restaurant version, and my family now requests it every single week. ★★★★★
Ingredients You Need

Chicken and Marinade
- 1.5 pounds boneless, skinless chicken thighs, cut into bite-size pieces
- Thighs stay juicier than breasts, but you can swap in chicken breast if you prefer.
- 1 cup plain whole milk yogurt
- Greek yogurt works great; thin it slightly with water if very thick.
- 2 tablespoons lemon juice
- 1 tablespoon grated fresh ginger
- 1 tablespoon grated fresh garlic
- 1.5 teaspoons kosher salt
- 2 teaspoons garam masala
- I like MDH or Frontier Co-op, but any fresh-smelling blend works.
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1 teaspoon Kashmiri chili powder or mild paprika
- Kashmiri chili gives that restaurant-style color with gentle heat.
Sauce Base
- 3 tablespoons unsalted butter
- Use good quality butter since it carries a lot of flavor.
- 1 tablespoon neutral oil (canola, avocado, or sunflower)
- 1 large yellow onion, finely chopped
- 3 cloves garlic, minced
- 1 tablespoon grated fresh ginger
- 1.5 teaspoons ground cumin
- 1 teaspoon ground coriander
- 1 teaspoon paprika
- 1 teaspoon garam masala
- 0.5 teaspoon turmeric
- 0.5 to 1 teaspoon chili powder or cayenne, to taste
- Use less if you want a very mild Homemade Butter Chicken Recipe.
- 1 can (14 to 15 ounces) tomato sauce or crushed tomatoes
- I like Muir Glen or San Marzano style for a smoother, sweeter base.
- 1 tablespoon tomato paste
- Tube tomato paste works well and stores easily in the fridge.
- 1 to 2 teaspoons sugar, to balance acidity
- Taste as you go; some tomato brands need more.
- 0.75 to 1 cup heavy cream
- Swap with half-and-half for a lighter version, or use full-fat coconut milk for dairy-free.
- 2 tablespoons unsalted butter, to finish
- Salt, to taste
- Fresh cilantro, chopped, for garnish
Pantry Shortcuts and Substitutions
- Use jarred ginger-garlic paste instead of fresh ginger and garlic in both marinade and sauce.
- Use pre-cut chicken tenders if you want to skip trimming and cutting.
- Use pre-made garam masala and curry powder instead of measuring multiple spices, if you feel short on time.
- Use canned tomato puree if you want a very smooth sauce without blending.
Equipment List
- Large skillet, sauté pan, or wide Dutch oven
- Medium bowl for marinating chicken
- Cutting board and sharp knife
- Wooden spoon or silicone spatula
- Measuring cups and spoons
- Optional: immersion blender or regular blender for extra smooth sauce
- Small tongs for turning chicken pieces
Tips & Mistakes
- Cut chicken into even pieces so everything cooks at the same rate and stays juicy.
- Marinate the chicken at least 30 minutes, and up to 24 hours, for deeper flavor and tenderness.
- Sear the chicken in a hot pan so it gets light browning instead of steaming in its own juices.
- Avoid crowding the pan; cook chicken in batches if needed to keep good color and texture.
- Cook onions low and slow until soft and lightly golden, since rushed onions taste harsh.
- Toast spices in the fat for 30 to 60 seconds so they bloom and taste richer, but stop before they darken too much.
- Taste the sauce before adding sugar, then add a little at a time to balance the tomatoes.
- Add cream on low heat so it stays silky and does not curdle.
- Thin the sauce with a splash of water or cream if it looks too thick, since it thickens more as it cools.
- Salt in layers, not just at the end, so the Homemade Butter Chicken Recipe tastes seasoned all the way through.
How to Make Homemade Butter Chicken

Step 1: Marinate the chicken
Add yogurt, lemon juice, ginger, garlic, salt, garam masala, cumin, coriander, and Kashmiri chili to a medium bowl. Whisk until smooth. Add chicken pieces and coat them well, making sure every piece gets covered.
Cover and chill at least 30 minutes, and up to 24 hours. If you marinate longer than 2 hours, keep the bowl in the coldest part of your fridge.
Step 2: Sear the marinated chicken
Heat 1 tablespoon oil and 1 tablespoon butter in a large skillet or Dutch oven over medium high heat. Lift chicken from the marinade, let extra marinade drip off, and add chicken in a single layer. Keep the leftover marinade in the bowl; you will use it later in the sauce.
Sear chicken 3 to 4 minutes per side until it turns opaque and gets light golden spots. Do not cook it all the way through; you just want color. Transfer chicken to a plate and keep it nearby.
Step 3: Sauté onions and aromatics
Lower heat to medium and add another tablespoon of butter to the same pan. Add chopped onions and a pinch of salt. Stir often and cook 8 to 10 minutes until the onions turn soft and lightly golden around the edges.
Add garlic and ginger and cook 1 to 2 minutes until fragrant. Scrape up any browned bits from the bottom of the pan, since they hold a lot of flavor.
Step 4: Toast spices
Add cumin, coriander, paprika, garam masala, turmeric, and chili powder to the onions. Stir constantly for 30 to 60 seconds until the spices smell nutty and fragrant. If the pan looks dry, add a small splash of oil or water so the spices do not scorch.
Step 5: Build the tomato base
Stir in tomato paste and cook 1 minute to take away the raw taste. Add tomato sauce or crushed tomatoes and any leftover yogurt marinade from the bowl. Stir well and bring the mixture to a gentle simmer.
Taste and add 1 teaspoon sugar and a pinch of salt. Let the sauce bubble gently 8 to 10 minutes, stirring occasionally, until it thickens slightly and the tomatoes taste mellow and sweet.
Step 6: Blend for a smooth sauce (optional)
If you want that restaurant-style silky Homemade Butter Chicken Recipe, blend the sauce. Turn off the heat and let the sauce cool a few minutes. Use an immersion blender directly in the pot until the sauce turns smooth.
If you use a regular blender, work in batches and vent the lid slightly, then return the sauce to the pan. Keep the heat on low after blending.
Step 7: Add cream and finish the sauce
Pour in heavy cream and stir until the sauce looks rich and orange. Add the remaining tablespoon of butter and let it melt into the sauce. Taste and adjust salt, sugar, and chili to your liking.
Keep the sauce at a gentle simmer, not a hard boil, so the cream stays silky. If the sauce looks too thick, add a splash of water or cream.
Step 8: Simmer the chicken in the sauce
Add the seared chicken and any juices from the plate back into the pan. Stir to coat every piece with sauce. Simmer on low heat 8 to 10 minutes until the chicken cooks through and turns very tender.
Check one larger piece to make sure it cooks all the way. Turn off the heat, sprinkle with chopped cilantro, and give it a final stir.
Variations I’ve Tried
I sometimes swap heavy cream with full-fat coconut milk for a dairy-free Homemade Butter Chicken Recipe with a slight coconut sweetness. I also tried a lighter version with half yogurt and half milk instead of cream, which still tasted rich but felt easier on weeknights. For extra veggies, I add peas or small cauliflower florets during the last 10 minutes of simmering.
I also tested a grilled version where I cook the marinated chicken on a grill pan or outdoor grill, then add it to the sauce, which gives a smoky flavor similar to tandoori. When I want more heat, I add chopped green chilies along with the ginger and garlic. For a super mild kid-friendly batch, I cut the chili powder in half and add a little extra cream.
How to Serve Homemade Butter Chicken Recipe
Serve Homemade Butter Chicken Recipe over fluffy basmati rice so the sauce can soak into every grain. Warm naan or soft flatbread makes a perfect side, since everyone loves to scoop up the sauce. Add a simple cucumber and tomato salad or sliced cucumbers with a squeeze of lemon to keep the plate fresh and bright.
You can also spoon it over quinoa or cauliflower rice if you want a lighter base. A side of plain yogurt or raita cools the spices and adds a nice contrast.
How to store
- Cool Homemade Butter Chicken Recipe to room temperature, then store it in an airtight container in the fridge for up to 3 to 4 days.
- For the freezer, portion it into freezer-safe containers or bags, label with the date, and freeze for up to 2 to 3 months.
- Reheat gently on the stove over low to medium heat, adding a splash of water or cream to loosen the sauce as it warms.
- You can also reheat in the microwave in short bursts, stirring between each burst so the sauce heats evenly and the chicken stays tender.

Homemade Butter Chicken Recipe
Ingredients
Instructions
- In a large bowl, combine yogurt, lemon juice, ginger-garlic paste, ground cumin, ground coriander, garam masala, turmeric, chili powder, and salt.
- Add the chicken pieces and coat well in the marinade. Cover and refrigerate for at least 30 minutes, or up to 4 hours for best flavor.
- Heat a large skillet or grill pan over medium-high heat. Lightly oil the pan and cook the marinated chicken in batches until browned and just cooked through, about 5–7 minutes. Set aside; the chicken will finish cooking in the sauce.
- In a large pan, heat 2 tablespoons butter and the oil over medium heat. Add the chopped onion and cook until soft and lightly golden, about 5–7 minutes.
- Stir in the ginger-garlic paste and sauté for 1–2 minutes until fragrant.
- Add ground coriander, ground cumin, chili powder, and garam masala. Cook the spices for 30–60 seconds, stirring constantly so they do not burn.
- Pour in the crushed tomatoes or tomato puree, add sugar and salt, and stir well. Simmer uncovered for 8–10 minutes, stirring occasionally, until the sauce thickens and the raw tomato smell cooks off.
- Reduce the heat to low and stir in the heavy cream. Simmer gently for 2–3 minutes, then taste and adjust salt or sugar as needed.
- Add the cooked chicken pieces and any accumulated juices to the sauce. Simmer on low heat for another 8–10 minutes, stirring occasionally, until the chicken is tender and infused with the sauce.
- Stir in the remaining 1 tablespoon butter to finish the sauce and add richness. Garnish with chopped cilantro if desired.
- Serve hot with steamed basmati rice, naan, or roti.
Notes
Approximate per serving (4 servings total): 430–470 calories; fat 30–34 g; saturated fat 15–18 g; carbohydrates 12–15 g; fiber 2–3 g; sugars 7–9 g; protein 30–34 g; sodium 850–1000 mg. Values are estimates and will vary based on exact ingredients, brands, and portion size.