Indian Butter Chicken is rich, velvety, and tastes like a warm hug on a plate. This restaurant-quality dish comes together in your own kitchen with tender chicken swimming in the most luxurious tomato, cream sauce you’ve ever tasted. It’s straightforward, deeply satisfying, and honestly tastes better than most takeout I’ve tried.

Why You’ll Love This Recipe
- Tastes like you ordered it – Seriously rich, restaurant-level flavor that makes you look like a rockstar cook
- That sauce though – Velvety, buttery, tomatoey goodness you’ll want to drink with a spoon
- Everyone devours it – Picky eaters, spice-sensitive folks, adventurous eaters—they all go back for more
- Leftovers are gold – Day two is somehow even better when those flavors have mingled overnight
- Simpler than it looks – No special skills needed, just a little time and some stirring
The Best Indian Butter Chicken Recipe
- Total Time: 1 hour 5 minutes
- Yield: 6 servings
Description
This Indian Butter Chicken recipe is loaded with tender tandoori-spiced chicken swimming in a rich, creamy sauce made with butter, heavy cream, and aromatic spices. The secret is taking your time to caramelize the onions until they’re deeply golden and letting the sauce simmer for 30 minutes so all those flavors can really develop. Serve it over fluffy basmati rice with warm naan bread and you’ve got a restaurant-quality meal that comes together in your own kitchen.
Ingredients
Main Ingredients:
- 1½ pounds skinless, boneless chicken breast, cut into bite-sized chunks (Thighs work beautifully too if you want extra juicy meat)
- 2 tablespoons vegetable oil
- 2 tablespoons tandoori masala (This is your secret weapon – find it in the spice aisle)
For the Sauce:
- 1 cup butter, divided (Yes, a whole cup. Trust me on this one)
- 1 onion, minced
- 1 tablespoon minced garlic (Or about 3–4 cloves, freshly minced)
- 1 (15 ounce) can tomato sauce
- 3 cups heavy cream (Full-fat is non-negotiable here)
- 2 teaspoons salt
- 1 teaspoon cayenne pepper (Adjust to your spice comfort level)
- 1 teaspoon garam masala
Optional for Serving:
- Basmati rice or white rice
- Naan bread (Store-bought is perfectly fine!)
- Fresh cilantro/coriander for garnish
Instructions
Get your oven going to 375°F. You want it hot and ready when the chicken’s prepped.
Melt 2 tablespoons of butter in your skillet over medium heat. Toss in the minced onion and garlic. Now here’s the thing, you’re gonna cook these low and slow for about 15 minutes until they turn a deep mahogany brown. Stir them every few minutes so they don’t stick, but don’t rush it.
While those onions are doing their thing, grab your saucepan and dump in the cream, tomato sauce, the rest of your butter, salt, cayenne, and garam masala. Crank the heat to medium-high and bring it to a simmer. Once it’s bubbling, turn it down to medium-low, slap a lid on it, and let it simmer for 30 minutes. Stir it every so often. When your onions are done, scrape them right into the sauce.
While everything’s simmering away, toss your chicken chunks with the oil until they’re coated. Sprinkle that tandoori masala all over and toss again so every piece is covered. Spread them out on your baking sheet—don’t pile them up or they’ll steam instead of bake.
Stick the chicken in the oven for about 12 minutes. You want it just cooked through, not dried out. Check at 10 minutes if your pieces are small.
Dump your baked chicken into the sauce and let everything simmer together for 5 minutes. The chicken soaks up the flavor and the sauce gets even better. Taste it and add more salt if you need to. Serve it over rice or with naan.
Notes
Your onions should look darker than you think is right. Almost burnt. That’s correct. If the sauce seems too thick after simmering, whisk in a little more cream or even some water. Too thin? Let it simmer uncovered for a few extra minutes.
Since the chicken keeps cooking in the sauce, slightly underbaking it is actually perfect. It stays tender instead of getting dry. If spicy food isn’t your jam, use half the cayenne and taste the sauce before adding the chicken. You can always stir in more heat but you can’t take it back.
- Prep Time: 15 minutes
- Cook Time: 50 minutes
- Category: Main Dish
- Method: Baking and Simmering
- Cuisine: Indian
Ingredients You’ll Need
Main Ingredients:
- 1½ pounds skinless, boneless chicken breast, cut into bite-sized chunks (Thighs are juicier if you’ve got ’em)
- 2 tablespoons vegetable oil
- 2 tablespoons tandoori masala (The spice aisle has it—don’t skip this)
For the Sauce:
- 1 cup butter, divided (I know. Just trust me.)
- 1 onion, minced
- 1 tablespoon minced garlic (Fresh tastes best)
- 1 (15 ounce) can tomato sauce
- 3 cups heavy cream (The real stuff—no shortcuts here)
- 2 teaspoons salt
- 1 teaspoon cayenne pepper (Go easy if you’re spice-shy)
- 1 teaspoon garam masala
Optional for Serving:
- Basmati rice or white rice
- Naan bread (Store-bought works perfectly)
- Fresh cilantro/coriander for garnish
Why These Ingredients Work
That full cup of butter isn’t a typo. It gets divided between caramelizing the onions and building the sauce, and it’s literally what makes butter chicken butter chicken. The heavy cream is what turns everything silky and luxurious instead of just, you know, tomatoey. You need the full-fat version because lower-fat stuff can get weird and grainy when it simmers.
Tandoori masala does the heavy lifting on flavor for the chicken. It’s got all these warm spices already blended up, plus it gives you that orangey-red color you see in restaurants. Garam masala is different—it’s sweeter and warmer, with cinnamon and cardamom vibes. Together they make the sauce smell incredible.
The onions get cooked way down until they’re almost burnt-looking. That’s on purpose. When onions caramelize that dark, they get sweet and jammy and create this deep flavor base that you just can’t fake. The tomato sauce balances out all that butter and cream so it doesn’t feel too heavy.
Essential Tools and Equipment
- Large skillet or sauté pan (for the onions)
- Medium saucepan with a lid (for simmering the sauce)
- Baking sheet
- Sharp knife and cutting board
- Wooden spoon or spatula
- Measuring cups and spoons
- Oven mitts
Step-by-Step Instructions
Step 1: Preheat Your Oven
Get your oven going to 375°F. You want it hot and ready when the chicken’s prepped.
Step 2: Caramelize the Onions
Melt 2 tablespoons of butter in your skillet over medium heat. Toss in the minced onion and garlic. Now here’s the thing, you’re gonna cook these low and slow for about 15 minutes until they turn a deep mahogany brown. Stir them every few minutes so they don’t stick, but don’t rush it.
Step 3: Make the Sauce
While those onions are doing their thing, grab your saucepan and dump in the cream, tomato sauce, the rest of your butter, salt, cayenne, and garam masala. Crank the heat to medium-high and bring it to a simmer. Once it’s bubbling, turn it down to medium-low, slap a lid on it, and let it simmer for 30 minutes. Stir it every so often. When your onions are done, scrape them right into the sauce.
Step 4: Prepare the Chicken
While everything’s simmering away, toss your chicken chunks with the oil until they’re coated. Sprinkle that tandoori masala all over and toss again so every piece is covered. Spread them out on your baking sheet—don’t pile them up or they’ll steam instead of bake.
Step 5: Bake the Chicken
Stick the chicken in the oven for about 12 minutes. You want it just cooked through, not dried out. Check at 10 minutes if your pieces are small.
Step 6: Combine and Finish
Dump your baked chicken into the sauce and let everything simmer together for 5 minutes. The chicken soaks up the flavor and the sauce gets even better. Taste it and add more salt if you need to. Serve it over rice or with naan.

You Must Know
Do not phone it in on caramelizing those onions. Fifteen minutes feels long, but that step is the difference between butter chicken that’s pretty good and butter chicken that makes people ask for the recipe. Also, you really do need heavy cream. I’ve tried milk, half-and-half, all the lighter substitutes—they just don’t work. The sauce gets thin and breaks and it’s sad.
Let that sauce simmer the full 30 minutes even though it smells amazing at minute 10 and you want to dive in. The spices need time to bloom and mellow out, and the sauce thickens up perfectly when you give it time.
Personal Secret: Right before I serve, I swirl in one more tablespoon of cold butter. It makes the sauce super glossy and gives it one last hit of richness that makes everyone think you went to culinary school or something.
Pro Tips & Cooking Hacks
Your onions should look darker than you think is right. Almost burnt. That’s correct. If the sauce seems too thick after simmering, whisk in a little more cream or even some water. Too thin? Let it simmer uncovered for a few extra minutes.
Since the chicken keeps cooking in the sauce, slightly underbaking it is actually perfect. It stays tender instead of getting dry. If spicy food isn’t your jam, use half the cayenne and taste the sauce before adding the chicken. You can always stir in more heat but you can’t take it back.
Here’s something that’ll change your life: make the sauce the day before. Let it hang out in the fridge overnight. The flavors develop even more, and the next day all you do is bake the chicken and reheat the sauce. Dinner in 20 minutes that tastes like it took hours.
Flavor Variations & Suggestions
Swap the chicken breasts for thighs if you want meat that’s basically impossible to mess up. Thighs stay juicy no matter what. If your family likes things sweeter, stir in a tablespoon of honey or a little brown sugar. Some people grow up on butter chicken that leans sweet, and it’s delicious that way.
Want smokier flavor? Add a teaspoon of smoked paprika with the tandoori masala. For some color and nutrition, throw in a big handful of fresh spinach in the last couple minutes of cooking. It wilts right down and tastes great. You can also use coconut cream instead of heavy cream if you want a slightly different flavor that’s equally rich. And if you’re trying to impress someone, drizzle a swirl of cream on top and sprinkle fresh cilantro before serving. Looks fancy, takes two seconds.
Make-Ahead Options
The sauce can sit in your fridge for two days before you even think about cooking the chicken. Just keep it in a covered container, then reheat it gently when you’re ready to finish the dish. You can also season your raw chicken with the tandoori masala and keep it in the fridge for up to 24 hours. Let it sit out for 15 minutes before baking so it’s not ice cold.
If you want to freeze the whole thing, wait until it’s completely cool after you combine the chicken and sauce. Portion it into containers and freeze for up to three months. It reheats beautifully and tastes just as good as fresh. Just thaw it overnight in the fridge and warm it up on the stove.
What to Serve With Indian Butter Chicken
Basmati rice is pretty much mandatory—it soaks up all that sauce like a dream. Warm naan is even better for scooping every last bit off your plate. I usually throw the naan in the oven for the last 5 minutes of cooking to warm it up.
Cucumber raita or plain yogurt on the side helps cool things down if the spice sneaks up on you. For veggies, roasted cauliflower with curry powder is perfect, or just a simple cucumber and tomato salad with lemon juice. If you’re going all out, add garlic naan, maybe some samosas to start, and mango lassi to drink. That sweet yogurt drink is ridiculously good with butter chicken.

Allergy Information
This recipe’s loaded with dairy—butter and heavy cream—so it won’t work for dairy allergies without some swaps. You can use coconut cream instead of heavy cream and coconut oil or ghee instead of butter. It tastes different but still really good. The recipe’s naturally gluten-free if you serve it with rice instead of naan.
No tree nuts or peanuts in here. If someone’s got a soy allergy, just double-check your vegetable oil—go with canola or avocado oil to be safe. The spice blends are usually fine but always read labels if you’re dealing with serious allergies, since some get processed in facilities with allergens.
Storage & Reheating
Leftovers keep in an airtight container in the fridge for 3-4 days. Day two butter chicken is actually even better because the flavors have had time to really get to know each other. You can freeze this for up to 3 months—just make sure it’s totally cool first and leave a little space at the top of the container since it expands when it freezes.
Thaw it overnight in the fridge when you’re ready to eat it again. Reheat slowly on the stovetop over low heat, stirring every so often. If the sauce got too thick (which happens a lot), add a splash of cream, milk, or water until it loosens up to that perfect creamy consistency. Never blast it on high heat or the cream will break and get grainy and weird.
Questions I Get Asked A Lot
My sauce turned out too spicy – help!
Stir in another half cup of heavy cream and a tablespoon of honey. The cream cuts the heat and the honey balances everything out. Keep tasting until it’s where you want it.
What if I can’t find tandoori masala?
Make your own with 1 tablespoon paprika, ½ teaspoon cumin, ½ teaspoon coriander, and ¼ teaspoon cayenne. It won’t be identical but it’ll still taste great.
Why is my sauce grainy or separated?
That happens when the cream gets heated too fast or too hot. Always use full-fat heavy cream and keep the heat at medium-low. If it separates, whisk in a tablespoon of cold butter—that usually fixes it.
💬 Tried this recipe? Leave a comment and rating below! did your family go crazy for it? Did you make any tweaks?



