Finding a good dairy-free version of butter chicken that actually tastes like the real deal can feel impossible. After all, so much of what makes butter chicken special is that rich, creamy sauce – and most recipes rely heavily on heavy cream and butter to get there. Things get even trickier when you’re trying to feed a family with different dietary needs.
Fortunately, this dairy-free butter chicken hits all the right notes: it’s just as creamy and flavorful as the traditional version, uses simple ingredients you can find at any grocery store, and comes together in under an hour on busy weeknights.
Why You’ll Love This Dairy Free Butter Chicken
- Dairy-free comfort food – You can enjoy all the creamy, rich flavors of traditional butter chicken without any dairy, making it perfect for those with lactose intolerance or following a dairy-free lifestyle.
- Restaurant-quality flavors at home – The blend of aromatic spices like garam masala, turmeric, and fresh ginger creates that authentic Indian restaurant taste you crave, right in your own kitchen.
- Tender, flavorful chicken – Marinating the chicken in coconut milk and spices ensures every bite is juicy and packed with flavor, while the coconut cream sauce keeps it incredibly tender.
- Meal prep friendly – This recipe makes plenty of servings and actually tastes even better the next day, making it perfect for batch cooking or weekly meal prep.
- Customizable spice level – You can easily adjust the heat by choosing your preferred chili variety or omitting it altogether, making it suitable for the whole family.
What Kind of Chicken Should I Use?
For butter chicken, you can use either chicken breasts or thighs, or even a mix of both depending on your preference. Thighs tend to stay more tender and juicy during cooking since they have more fat, while breasts are leaner but can dry out more easily if overcooked. I personally like using a combination of both to get the best of both worlds. When cutting your chicken, aim for bite-sized pieces that are roughly the same size so they cook evenly – about 1-inch chunks work perfectly for this recipe.
Options for Substitutions
This dairy-free butter chicken is pretty adaptable, so here are some swaps you can make:
- Coconut milk/cream: If you’re not a fan of coconut, try cashew cream (blend 1 cup soaked cashews with 1 cup water) or unsweetened oat cream. The flavor will be milder but still creamy.
- Chicken: Feel free to use all thighs or all breasts – thighs will be more tender and flavorful, while breasts are leaner. You can also substitute with cauliflower florets or paneer for a vegetarian version.
- Fresh chili: Use whatever heat level you prefer – jalapeño for mild, serrano for medium, or Thai chili for hot. You can also use 1/2 teaspoon red pepper flakes instead.
- Garam masala: Don’t have garam masala? Mix together 1 teaspoon cinnamon, 1/2 teaspoon each of cumin and coriander, and a pinch of cloves and cardamom.
- Fenugreek/kasoori methi: This adds a unique flavor, but if you can’t find it, just skip it or add a pinch of dried oregano for some herbal notes.
- Coconut oil: Any neutral oil like avocado or vegetable oil works fine. The coconut oil does add a subtle flavor that pairs well with the coconut milk though.
Watch Out for These Mistakes While Cooking
The biggest mistake when making dairy-free butter chicken is rushing the marination process – your chicken needs at least 30 minutes to absorb those spices, but overnight marinating will give you much more flavorful results. Another common error is using light coconut milk instead of full-fat, which leaves you with a thin, watery sauce that lacks the rich creaminess this dish is known for. Don’t skip browning the chicken properly before adding it to the sauce, as this step creates those caramelized bits that add depth to the overall flavor. Finally, be careful not to overcook the chicken once you add it back to the sauce – it only needs a few minutes to heat through, and overcooking will make it tough and dry.
What to Serve With Dairy Free Butter Chicken?
This creamy, spiced chicken is perfect over a bed of fluffy basmati rice, which soaks up all that rich coconut sauce beautifully. I love serving it with warm naan bread or chapati on the side for scooping up every bit of the sauce – you can find dairy-free versions at most grocery stores now. A simple cucumber raita made with coconut yogurt instead of regular yogurt helps cool down the spices, and some roasted vegetables like cauliflower or green beans make great sides too. Don’t forget to sprinkle some fresh cilantro on top and maybe add a wedge of lime for that extra pop of freshness!
Storage Instructions
Refrigerate: This dairy free butter chicken actually tastes even better the next day! Store it in the fridge in an airtight container for up to 4 days. The flavors really have time to meld together, making it perfect for meal prep or enjoying as leftovers throughout the week.
Freeze: You can definitely freeze this curry for up to 3 months in freezer-safe containers or bags. I like to portion it out into individual servings so I can grab just what I need. Let it thaw overnight in the fridge before reheating for the best results.
Warm Up: Reheat your butter chicken gently on the stovetop over medium-low heat, stirring occasionally until heated through. You can also use the microwave on medium power, stirring every minute or so. If the sauce seems too thick after storing, just add a splash of water or coconut milk to loosen it up.
| Preparation Time | 30-60 minutes |
| Cooking Time | 30-45 minutes |
| Total Time | 60-105 minutes |
| Level of Difficulty | Medium |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 2000-2200
- Protein: 165-185 g
- Fat: 120-140 g
- Carbohydrates: 60-75 g
Ingredients
For the marinade:
- 1/2 cup full fat coconut milk, coconut cream, or coconut yogurt
- 1 tbsp fresh lemon juice
- 1 tbsp minced fresh ginger
- 1 1/2 tbsp minced garlic
- 2 tsp garam masala
- 1/2 tsp ground black pepper
- 1 tsp ground turmeric
- 1/2 tsp salt
- 2 lb boneless, skinless chicken breasts or thighs, diced
For the sauce:
- 4 tbsp coconut oil, divided
- 1 medium onion, finely chopped
- 5 garlic cloves, minced
- 4 tsp freshly grated ginger
- 1 chili pepper, seeded and minced
- 1 tbsp garam masala
- 1 tsp ground coriander
- 1/2 tsp ground cumin
- 1/2 tsp black pepper
- 1 1/2 cups water
- 1/2 cup tomato paste
- 1 tbsp granulated sugar
- 1 tsp salt
- 1/2 tsp dried fenugreek leaves (kasoori methi), optional
- 1 cup full fat coconut milk or coconut cream
Step 1: Marinate the Chicken
- 1/2 cup full fat coconut milk, coconut cream, or coconut yogurt
- 1 tbsp fresh lemon juice
- 1 tbsp minced fresh ginger
- 1 1/2 tbsp minced garlic
- 2 tsp garam masala
- 1/2 tsp ground black pepper
- 1 tsp ground turmeric
- 1/2 tsp salt
- 2 lb boneless, skinless chicken breasts or thighs, diced
In a large mixing bowl, combine 1/2 cup full fat coconut milk (or coconut cream, or coconut yogurt), 1 tablespoon fresh lemon juice, 1 tablespoon minced fresh ginger, 1 1/2 tablespoons minced garlic, 2 teaspoons garam masala, 1/2 teaspoon ground black pepper, 1 teaspoon ground turmeric, and 1/2 teaspoon salt.
Mix well to form the marinade.
Add the diced chicken breast or thighs and mix until the pieces are fully coated.
Cover and let the chicken marinate for at least 30 minutes, or up to 24 hours in the refrigerator.
I find that letting it rest longer allows the flavors to soak in even deeper!
Step 2: Brown the Marinated Chicken
- 2 tbsp coconut oil
- marinated chicken from Step 1
Heat 2 tablespoons of coconut oil in a large pot or skillet over medium-high heat.
When the oil is hot and sizzles when you flick in a few drops of water, add the marinated chicken (from Step 1) in 2-3 batches to avoid overcrowding.
Sear the chicken pieces on each side for about 3 minutes until browned.
Remove the chicken from the pot and set aside; it will finish cooking in the sauce later.
Step 3: Sauté the Aromatics
- 2 tbsp coconut oil
- 1 medium onion, finely chopped
- 5 garlic cloves, minced
- 4 tsp freshly grated ginger
- 1 chili pepper, seeded and minced
Add the remaining 2 tablespoons of coconut oil to the same pot.
Add the finely chopped onion and sauté over medium heat for 5-7 minutes until the onion becomes translucent.
Stir in 5 minced garlic cloves, 4 teaspoons freshly grated ginger, and the minced, seeded chili pepper.
Cook for about 1 minute until fragrant, stirring frequently.
Step 4: Simmer the Spices and Sauce Base
- 1/2 cup tomato paste
- 1 tbsp garam masala
- 1 tsp ground coriander
- 1/2 tsp ground cumin
- 1/2 tsp black pepper
- 1 1/2 cups water
- 1 tbsp granulated sugar
- 1 tsp salt
Reduce heat to medium-low.
Add 1/2 cup tomato paste, 1 tablespoon garam masala, 1 teaspoon ground coriander, 1/2 teaspoon ground cumin, and 1/2 teaspoon black pepper to the pot.
Stir constantly for 2-3 seconds to bloom the spices.
If the pot appears too dry, add 1-2 tablespoons of water.
Pour in 1 1/2 cups water, 1 tablespoon granulated sugar, and 1 teaspoon salt.
Bring to a gentle simmer over medium heat for at least 15 minutes, until the sauce thickens and turns a rich reddish-brown.
Step 5: Blend the Sauce Until Smooth
Remove the pot from the heat.
Carefully transfer the sauce to a blender or food processor in batches, filling only halfway to avoid spills.
Blend until completely smooth, then return the sauce to the pot.
Alternatively, use an immersion blender directly in the pot or in a heat-safe bowl, blending until smooth before transferring the sauce back.
Step 6: Finish the Curry and Simmer
- 1 cup full fat coconut milk or coconut cream
- browned chicken from Step 2
- 1/2 tsp dried fenugreek leaves (kasoori methi), optional
Stir in 1 cup of full fat coconut milk or coconut cream into the smooth sauce.
Add the browned chicken pieces (from Step 2) and mix well to coat.
Simmer over medium-low heat for 10 more minutes to finish cooking the chicken and allow the flavors to meld.
Stir in 1/2 teaspoon dried fenugreek leaves (kasoori methi), if using.
For extra silkiness, I like to add an extra splash of coconut cream at the end!
Step 7: Serve and Enjoy
Serve the finished chicken curry hot, optionally topped with fresh cilantro, and enjoy with a side of rice or cauliflower rice.
Store leftover curry in an airtight container in the fridge for up to five days.
Indian Dairy Free Butter Chicken
Ingredients
For the marinade:
- 1/2 cup full fat coconut milk, coconut cream, or coconut yogurt
- 1 tbsp fresh lemon juice
- 1 tbsp minced fresh ginger
- 1 1/2 tbsp minced garlic
- 2 tsp garam masala
- 1/2 tsp ground black pepper
- 1 tsp ground turmeric
- 1/2 tsp salt
- 2 lb boneless, skinless chicken breasts or thighs, diced
For the sauce:
- 4 tbsp coconut oil, divided
- 1 medium onion, finely chopped
- 5 garlic cloves, minced
- 4 tsp freshly grated ginger
- 1 chili pepper, seeded and minced
- 1 tbsp garam masala
- 1 tsp ground coriander
- 1/2 tsp ground cumin
- 1/2 tsp black pepper
- 1 1/2 cups water
- 1/2 cup tomato paste
- 1 tbsp granulated sugar
- 1 tsp salt
- 1/2 tsp dried fenugreek leaves (kasoori methi), optional
- 1 cup full fat coconut milk or coconut cream
Instructions
- In a large mixing bowl, combine 1/2 cup full fat coconut milk (or coconut cream, or coconut yogurt), 1 tablespoon fresh lemon juice, 1 tablespoon minced fresh ginger, 1 1/2 tablespoons minced garlic, 2 teaspoons garam masala, 1/2 teaspoon ground black pepper, 1 teaspoon ground turmeric, and 1/2 teaspoon salt. Mix well to form the marinade. Add the diced chicken breast or thighs and mix until the pieces are fully coated. Cover and let the chicken marinate for at least 30 minutes, or up to 24 hours in the refrigerator. I find that letting it rest longer allows the flavors to soak in even deeper!
- Heat 2 tablespoons of coconut oil in a large pot or skillet over medium-high heat. When the oil is hot and sizzles when you flick in a few drops of water, add the marinated chicken (from Step 1) in 2-3 batches to avoid overcrowding. Sear the chicken pieces on each side for about 3 minutes until browned. Remove the chicken from the pot and set aside; it will finish cooking in the sauce later.
- Add the remaining 2 tablespoons of coconut oil to the same pot. Add the finely chopped onion and sauté over medium heat for 5-7 minutes until the onion becomes translucent. Stir in 5 minced garlic cloves, 4 teaspoons freshly grated ginger, and the minced, seeded chili pepper. Cook for about 1 minute until fragrant, stirring frequently.
- Reduce heat to medium-low. Add 1/2 cup tomato paste, 1 tablespoon garam masala, 1 teaspoon ground coriander, 1/2 teaspoon ground cumin, and 1/2 teaspoon black pepper to the pot. Stir constantly for 2-3 seconds to bloom the spices. If the pot appears too dry, add 1-2 tablespoons of water. Pour in 1 1/2 cups water, 1 tablespoon granulated sugar, and 1 teaspoon salt. Bring to a gentle simmer over medium heat for at least 15 minutes, until the sauce thickens and turns a rich reddish-brown.
- Remove the pot from the heat. Carefully transfer the sauce to a blender or food processor in batches, filling only halfway to avoid spills. Blend until completely smooth, then return the sauce to the pot. Alternatively, use an immersion blender directly in the pot or in a heat-safe bowl, blending until smooth before transferring the sauce back.
- Stir in 1 cup of full fat coconut milk or coconut cream into the smooth sauce. Add the browned chicken pieces (from Step 2) and mix well to coat. Simmer over medium-low heat for 10 more minutes to finish cooking the chicken and allow the flavors to meld. Stir in 1/2 teaspoon dried fenugreek leaves (kasoori methi), if using. For extra silkiness, I like to add an extra splash of coconut cream at the end!
- Serve the finished chicken curry hot, optionally topped with fresh cilantro, and enjoy with a side of rice or cauliflower rice. Store leftover curry in an airtight container in the fridge for up to five days.




