
Homemade Butter Chicken Recipe tastes rich, creamy, tomatoey, and just the right amount of cozy, like your favorite Indian restaurant but in sweatpants at home. It works perfectly for busy weeknights or relaxed weekends, and you can get it on the table in about 45 to 60 minutes depending on your prep speed. I cooked versions of this recipe for years in a tiny apartment kitchen, so if your space feels small and chaotic, you have good company.
Why Homemade Butter Chicken Recipe Is Worth It
You control the flavor, the spice level, and the quality of the ingredients, which makes every bite taste fresher than most takeout. You also skip mystery sweetness and heavy salt, while still getting that silky, restaurant-style sauce.
You cook everything in one main pan, so cleanup stays manageable. Leftovers taste even better the next day, so you get a built-in meal prep win without extra effort.
“This Homemade Butter Chicken Recipe tastes like my favorite restaurant version but even creamier and more flavorful at home. ★★★★★”
Ingredients You Need
Chicken and Marinade
- 1 ½ pounds boneless, skinless chicken thighs, cut into bite-size pieces
- Use thighs for tenderness; use chicken breast if you prefer leaner meat and shorten cook time slightly.
- ½ cup plain full-fat yogurt
- Greek yogurt works; thin it with 1 to 2 tablespoons water.
- 1 tablespoon lemon juice or lime juice
- 1 tablespoon ginger garlic paste
- Shortcut: use store-bought ginger garlic paste from the Indian aisle.
- 1 teaspoon kosher salt
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1 teaspoon garam masala
- ½ teaspoon turmeric
- ½ to 1 teaspoon Kashmiri chili powder or mild chili powder
- Kashmiri chili gives bright color with gentle heat; use paprika plus a pinch of cayenne as a backup.
Sauce Base
- 2 tablespoons neutral oil or ghee
- Ghee gives richer flavor; avocado or canola oil works fine.
- 3 tablespoons unsalted butter, divided
- Use a good quality butter since it drives flavor; I often use Kerrygold or a similar brand.
- 1 large yellow onion, finely chopped
- 1 to 2 green chilies, slit or finely chopped, optional
- 1 ½ tablespoons ginger garlic paste
- 1 ½ teaspoons ground cumin
- 1 ½ teaspoons ground coriander
- 1 to 2 teaspoons garam masala, to taste
- 1 teaspoon Kashmiri chili powder or mild chili powder
- 1 teaspoon smoked or sweet paprika, optional, for color and depth
- 1 ½ cups tomato puree or crushed tomatoes
- Use a smooth tomato puree for a silkier sauce; canned tomato sauce without herbs also works.
- 1 teaspoon sugar or honey, to balance acidity
- ¾ to 1 teaspoon kosher salt, to taste
- ¾ to 1 cup heavy cream
- Use at least 30 percent fat for that classic butter chicken texture; half-and-half works in a pinch but tastes lighter.
- ¼ to ½ cup water, as needed, to adjust consistency
Finishing Touches
- 1 tablespoon butter, for finishing
- 2 to 3 tablespoons chopped fresh cilantro, for garnish
- 1 to 2 tablespoons cream, for drizzling on top, optional
Pantry Shortcuts
- Use jarred ginger garlic paste instead of fresh chopping.
- Use canned tomato puree instead of fresh tomatoes.
- Use store-bought garam masala from a trusted brand; I like MDH, Everest, or a local Indian market brand.
Equipment List
- Large mixing bowl for marinating chicken
- Large heavy skillet or sauté pan (or a wide pot)
- Cutting board and sharp knife
- Measuring spoons and cups
- Wooden spoon or spatula
- Tongs
- Small bowl for spice mixing
- Optional: blender or immersion blender if you want an ultra-smooth sauce
Quick Tips & substitutions
- Marinate the chicken at least 30 minutes; aim for 2 to 4 hours for deeper flavor.
- Use chicken thighs if you want juicy, forgiving pieces that stay tender even if you cook them a bit longer.
- Swap chicken with paneer cubes or extra-firm tofu for a vegetarian version.
- Use coconut cream instead of heavy cream for a dairy-light option with a slight coconut note.
- Adjust heat with chili powder: use Kashmiri chili for color and mild heat, or add a pinch of cayenne if you love spice.
- Thin the sauce with water or stock if it feels too thick; simmer longer if it feels too loose.
- Use ghee plus butter for the best flavor; if you avoid dairy, use a rich-tasting neutral oil and coconut cream.
- If you do not have garam masala, mix equal parts ground cumin, coriander, and a pinch of cinnamon and cloves as a quick stand-in.
- Cook the spices in fat until fragrant to wake up their flavor; do not rush this step.
- Taste the sauce at the end and adjust salt, sugar, and cream until it tastes balanced and rounded.
How to Make Homemade Butter Chicken Recipe
Step 1: Marinate the Chicken
Add chicken pieces to a large bowl. Stir in yogurt, lemon juice, ginger garlic paste, salt, cumin, coriander, garam masala, turmeric, and chili powder. Coat every piece of chicken evenly, then cover and chill at least 30 minutes and up to overnight.
Let the marinated chicken sit at room temperature for about 15 minutes before you cook it. This step helps the chicken cook more evenly and stay tender.
Step 2: Sear the Chicken
Heat 1 tablespoon oil and 1 tablespoon butter in a large skillet over medium-high heat. Add the marinated chicken in a single layer without crowding; cook in batches if needed. Sear the chicken 3 to 4 minutes per side until it develops golden brown spots and cooks through.
Transfer the cooked chicken to a plate and keep it nearby. You will finish it in the sauce later, so do not worry if a few pieces look slightly under at the center; they will finish gently in the gravy.
Step 3: Build the Onion Base
Lower the heat to medium and add the remaining 1 tablespoon oil and 1 tablespoon butter to the same pan. Add chopped onion and a pinch of salt, then cook 8 to 10 minutes, stirring often, until the onions turn soft and deep golden. Scrape up any browned bits from the chicken as the onions cook, since those bits carry flavor.
Add the green chilies if you use them and stir for 1 minute. Add ginger garlic paste and cook 1 to 2 minutes until it smells fragrant and no longer raw.
Step 4: Toast the Spices
In a small bowl, mix cumin, coriander, garam masala, chili powder, and paprika. Add the spice mix to the onions and stir constantly for 30 to 60 seconds. Let the spices sizzle in the fat until they smell toasty and rich, but pull the pan off the heat if they start to darken too quickly.
This short toasting step deepens flavor and removes any dusty taste from the spices. Keep the heat at medium or slightly below so the spices do not burn.
Step 5: Add Tomatoes and Simmer
Pour in the tomato puree and stir well to combine with the onion and spice mixture. Add sugar and a pinch of salt, then lower the heat to medium-low. Simmer 10 to 15 minutes, stirring occasionally, until the sauce thickens and the fat starts to pool slightly around the edges.
Taste the tomato base; it should taste mellow and slightly sweet, not sharp. If it still tastes harsh or acidic, simmer a few more minutes and add another pinch of sugar.
Step 6: Blend for a Silky Sauce (Optional but Nice)
If you want a super smooth restaurant-style butter chicken, transfer the sauce to a blender or use an immersion blender in the pan. Blend until completely smooth and velvety. Return the sauce to the pan if you used a blender.
If you skip blending, you still get a delicious sauce, just with a bit more texture from the onions. I blend when I want that classic silky feel and leave it chunky when I feel lazy.
Step 7: Add Cream and Adjust Consistency
Lower the heat to low. Stir in heavy cream and 1 tablespoon butter until the sauce turns a rich orange color and looks glossy. Add ¼ cup water if the sauce feels too thick; you want it to coat the back of a spoon but still pour easily.
Taste and adjust salt and sugar until the sauce tastes balanced. If it feels too rich, add a splash of water; if it feels too tangy, add a spoonful more cream.
Step 8: Finish the Chicken in the Sauce
Add the seared chicken and any juices from the plate into the sauce. Stir gently to coat every piece. Simmer on low heat for 8 to 10 minutes so the chicken absorbs the flavors and stays tender.
Sprinkle in chopped cilantro and stir. Drizzle a tablespoon or two of cream on top and add the final tablespoon of butter so it melts into little pools on the surface.
Step 9: Taste, Adjust, and Serve
Taste one piece of chicken and a spoonful of sauce together. Adjust salt, chili, or cream one last time so it matches your ideal comfort level. Turn off the heat and let the butter chicken sit 3 to 5 minutes; this short rest helps the sauce thicken slightly and cling to the chicken.
Serve hot with rice, naan, or your favorite sides. I like to keep a small bowl of extra cilantro and a wedge of lemon on the table so everyone can tweak their own bowl.
Recipe Variations
- Gluten-free: Use gluten-free naan or serve with rice or cauliflower rice; most ingredients in this recipe already stay naturally gluten-free.
- Dairy-light: Use coconut cream instead of heavy cream and swap butter with coconut oil or a vegan butter substitute.
- Vegan: Replace chicken with firm tofu or chickpeas, use coconut cream, and use oil instead of butter and ghee.
- Low carb: Serve the butter chicken over cauliflower rice or sautéed shredded cabbage instead of regular rice or bread.
- Extra protein: Add a handful of cooked chickpeas along with the chicken for more texture and fiber.
- Extra veggies: Stir in steamed peas, spinach, or small cauliflower florets during the final simmer.
Ways to Serve Homemade Butter Chicken Recipe
- Spoon over fluffy basmati rice or jasmine rice.
- Serve with warm naan, roti, or pita for scooping up the sauce.
- Pair with cucumber raita or plain yogurt and a simple salad.
- Serve alongside roasted or steamed vegetables like broccoli, green beans, or carrots.
- Use leftovers as a filling for wraps with lettuce, cucumber, and a spoon of yogurt.
Storage Success
Cool the Homemade Butter Chicken Recipe to room temperature, then transfer it to airtight containers and refrigerate for up to 3 to 4 days. The flavors deepen overnight, so leftovers often taste even better than the first round. Reheat gently on the stove over low heat or in the microwave, and add a splash of water or cream if the sauce thickens too much. Freeze portions for up to 2 months, thaw overnight in the fridge, and reheat slowly so the sauce stays creamy and smooth.

Leave a Reply