Warm, cozy, and deeply satisfying, Quick & Easy Homemade Butter Chicken Recipe brings tender chicken, velvety tomato-butter sauce, and gentle spices together!

You want comfort food that tastes like it came from your favorite Indian restaurant, but you also want it on a normal-person weeknight timeline, with no weird shortcuts that make it taste flat. This homemade butter chicken recipe is exactly that: smoky, tender chicken coated in a silky, buttery tomato gravy that’s sweet-tangy, gently spiced, and so glossy it looks like it’s wearing lip balm.
It’s easy, but it still has that slow-cooked depth because you’re going to build flavor in tiny, very human micro-decisions like browning the tomato paste properly, toasting the spices for 20 seconds, and not flooding the pan with watery tomatoes.
What It Tastes Like?
Think rich tomato cream sauce with a buttery finish, a mellow warmth from garam masala and Kashmiri chili (more color than heat), a faint smokiness if you char the chicken, and that restaurant-style “why is this so addictive” balance of sweet, tangy, salty, and creamy.
The chicken stays juicy because the yogurt marinade buffers heat and tenderizes, and the sauce clings instead of running all over your rice like a sad soup.
Ingredients (Serves 4)
For The Chicken Marinade
- Boneless chicken thighs, 700 g (best for juicy, forgiving texture)
- Thick plain yogurt, 120 g (about 1/2 cup)
- Lemon juice, 1 tbsp
- Ginger-garlic paste, 2 tbsp
- Kashmiri chili powder, 1 and 1/2 tsp (for color, mild heat)
- Ground cumin, 1 tsp
- Ground coriander, 1 tsp
- Garam masala, 1 tsp
- Turmeric, 1/2 tsp
- Salt, 1 and 1/4 tsp
- Neutral oil, 1 tbsp
For The Butter Chicken Sauce
- Unsalted butter, 3 tbsp (divide use)
- Neutral oil, 1 tbsp (keeps butter from burning early)
- Onion, 1 medium (about 150 g), finely chopped
- Ginger-garlic paste, 1 tbsp
- Tomato paste, 2 tbsp
- Tomato puree or passata, 400 g (about 1 and 2/3 cups)
- Kashmiri chili powder, 1 to 1 and 1/2 tsp (adjust for heat)
- Ground cumin, 1 tsp
- Ground coriander, 1 and 1/2 tsp
- Garam masala, 1 tsp (plus extra pinch at the end if you love it)
- Sugar or honey, 1 to 2 tsp (this is what makes it taste “restaurant”)
- Salt, 1 tsp (then adjust)
- Hot water, 120 to 180 ml (1/2 to 3/4 cup), as needed
- Heavy cream, 120 ml (1/2 cup)
- Kasuri methi (dried fenugreek leaves), 1 tsp, crushed between fingers
- Optional but magical for silkiness: cashews, 12 to 15 (soaked in hot water 10 minutes, then blended with a splash of water)
To Finish
- Fresh cilantro, chopped
- Extra butter, 1 tbsp (optional, but you know why you’re here)
- Rice, naan, or roti for serving
How to Make The Best Homemade Butter Chicken

In a bowl, mix yogurt, lemon juice, ginger-garlic paste, all the spices, salt, and oil, then toss in the chicken and coat every piece like you actually care about it, because this is where the flavor gets inside the meat instead of just sitting on the surface.
Let it marinate for at least 20 minutes on the counter, or up to overnight in the fridge, and here’s why this fails if you rush it: chicken can cook through and still taste oddly bland if the salt and aromatics didn’t get a head start, so even a short marinade makes a shocking difference.
Now cook the chicken in the fastest, best-flavor way you’ve got. If you have an oven, set it to 220°C and line a tray, spread the chicken out with space between pieces (crowding makes it steam and you lose that lightly charred edge), then roast for 14 to 18 minutes until it’s cooked through and has a little bronzing on top.
If you’re using a skillet or grill pan, heat it on medium-high and cook in batches with a thin slick of oil, about 3 to 4 minutes per side, and don’t poke it constantly because you want browning, not boiled chicken. You don’t need to cook it perfectly to death here because it will finish in the sauce, so pull it when it’s just done and still juicy.
For the sauce, take a wide pan and heat 1 tbsp oil + 2 tbsp butter on medium. Add the chopped onion and cook 8 to 10 minutes until it turns soft and lightly golden, and don’t rush this step because onion sweetness is one of the reasons butter chicken tastes rounded instead of sharp.
Add the ginger-garlic paste and cook 30 to 45 seconds until it stops smelling raw and starts smelling like you just opened the door to an Indian kitchen.
Add the tomato paste and cook it for 2 full minutes, stirring, until it darkens slightly and smells deeper and less metallic, and yes, this is the step people skip and then wonder why their sauce tastes like straight canned tomatoes.
Now add the tomato puree, Kashmiri chili powder, cumin, coriander, sugar, and salt, then simmer on medium-low for 10 to 12 minutes until you see the sauce thicken and the fat starts to separate at the edges a little, which is your visual cue that the tomatoes actually cooked down and the flavor stopped being “raw and sour.”
If you’re using the cashews, blend them into a smooth cream and stir that in now, then add hot water little by little until the sauce is thick but spoonable, like a creamy soup that still coats the back of a spoon. Taste, then adjust salt and sugar, because butter chicken lives and dies by balance, and the tomatoes you used might be sweeter or more acidic than mine.
Turn the heat to low, stir in the cream slowly (so it doesn’t split), then crush the kasuri methi between your palms and sprinkle it in, because that aroma is a huge part of the restaurant vibe and it hits your nose before your tongue even catches up.
Add the cooked chicken pieces and any resting juices back into the pan, simmer gently for 6 to 8 minutes on low, and watch how the sauce hugs the chicken as it thickens and turns glossy.
Finish with the last 1 tbsp butter if you want that extra silky, rich finish, then a pinch more garam masala if you like it more fragrant, and a small handful of cilantro to brighten it up so it doesn’t feel heavy.
Serve hot with rice or naan, and do yourself a favor: let it sit for 5 minutes before eating, because the sauce settles, thickens slightly, and tastes more cohesive, like all the spices decided to stop fighting and start harmonizing.
Realistic Timing
- Prep + marinade mixing: 10 minutes
- Quick marinade time: 20 minutes (or overnight if you want)
- Chicken cook time: 15 to 20 minutes
- Sauce cook time: 25 minutes
- Simmer together: 6 to 8 minutes
- Total active time: about 45 minutes
When you make this homemade butter chicken recipe, notice how your kitchen smells right at the moment the tomato paste caramelizes and the butter melts into the sauce, because that’s the exact point where it stops being “chicken in tomato gravy” and turns into butter chicken you’ll crave tomorrow!
Do not miss this Crispy Rice Paper Vietnamese Spring Rolls with Creamy Peanut Sauce!
