This butter chicken made with coconut milk is rich, creamy, and dairy-free. It’s a delicious and warm chicken curry that satisfies any Indian food craving. This is a top recipe in my house when we want something rich in flavor, easy to make, and non-dairy.

Dairy-Free Butter Chicken Recipe
Coconut milk is widely used in Asian cuisines for its creamy texture and soothing flavor. Traditionally, butter chicken is a curry made with chicken, tomatoes, and cow’s milk. I use coconut milk as a substitute for milk or heavy cream in all sorts of recipes, and this homemade dairy-free butter chicken is a delicious example.
This thick, creamy sauce is bursting with aromatic flavors from the blend of spices, creating a rich, tomatoey, and fragrant base without any dairy. The marinated chicken absorbs these spices, staying moist as it finishes cooking in the sauce. I serve this over fluffy basmati rice and always a side of homemade naan or frozen naan from the store.
Ingredients
- Boneless, Skinless Chicken Thighs: You can also use chicken breasts. I prefer thighs because they’re more flavorful and don’t dry out.
- Coconut Cream: Full-fat coconut cream (not coconut milk) gives a creamy, thick texture similar to traditional butter curry with chicken.
- Lemon Juice: Adds a balance of acidity and citrus to the rich sauce.
- Ginger: Enhances the warmth and spiciness of the dish. I prefer to grate fresh ginger with my zester or cheese grater.
- Garlic Cloves: Add savoriness and complements the onion’s sweetness.
- Yellow Onion: A flavorful foundation used in most curry recipes.
- Garam Masala: A mix of spices that adds warmth to the sauce.
- Ground Cumin: Adds earthy, nutty notes and is a staple in Indian cuisine.
- Paprika: Adds a mild heat that supports the other spices.
- Coriander Powder: A staple in Indian cooking for its citrusy spice that works well with the garam masala.
- Chili Powder: Added for its heat and to balance the sweetness of the coconut cream and tomatoes. Use less or more, depending on your spice preferences.
- Dried Fenugreek: Also known as Kasoori Methi, this is an iconic flavoring for butter chicken. You can omit this if it’s too difficult to get your hands on, because there is no equivalent substitution. A little goes a long way.
- Diced Tomato Can: Tomatoes are the acidic base of the sauce; they add a sweet, tangy flavor and help thicken the lactose-free curry sauce while balancing the spices.
- Vegan Butter: Homemade vegan butter adds richness and a buttery finish to the sauce.
- Cilantro: This is an optional garnish, but I love the pop of color it adds in contrast to the red of this dish!
Tips and Suggestions
- I recommend marinating the chicken thighs for at least 30 minutes before cooking. I usually aim for 2 hours, if not overnight—when I remember. This gives the marinade time to penetrate and boosts the flavor of the chicken.
- Be mindful of whether your canned tomatoes contain salt or not, as it may affect the saltiness of your dish.
- Don’t skip searing the chicken before making the sauce. This adds a smoky, caramelized flavor to the dish, similar to a tandoori effect.
- If you use a stand blender or food processor to blend your sauce, be sure to fill it only halfway, as heat causes the sauce to expand when blended. I recommend leaving the lid slightly open and covering the top with a towel to allow steam to escape while preventing splatters. If you’re using an immersion blender, cover the pot partially with a towel to guard against splashing, and blend carefully.
- Add in some of your favorite veggies. I like to add a bag of spinach at the end or some frozen peas to the curry after blending it.
- The traditional way of “blooming” the spices is a must in Indian cooking. When you’re making the curry sauce, sauté the garlic, ginger, and spices (garam masala, cumin, paprika, chili powder, and coriander) in oil for a minute or two. This releases their natural oils and intensifies their flavors.
Serving Suggestions
I always serve mine with basmati rice and gluten-free naan. For additional flavor, add garlic to your naan!
Storage Instructions
Store leftovers in an airtight container in the refrigerator for 3-4 days.
I prefer to reheat on the stovetop until all the chicken is heated through. You can also reheat in the microwave, in a microwave safe dish, covered for 2-3 minutes.
More Dairy-Free Recipes
- Gluten-Free Turmeric Coconut Chicken Curry
- Dairy-Free Cheesy Potatoes
- Easy Beef Stew
- Gluten-Free Chicken Noodle Soup {Dairy-Free}
- Gluten-Free Meatloaf {Dairy-Free Option}
Dairy-Free Butter Chicken
Equipment
- 1 Blender
- 1 large skillet
- 1 large bowl
Ingredients
For the Chicken
- ½ cup coconut cream
- 2 tablespoon lemon juice
- 1 tablespoon ginger, minced
- 3 garlic cloves, minced
- 1 tablespoon garam masala
- 1 teaspoon salt
- 1 teaspoon chili powder
- 2 ½ pounds of boneless, skinless chicken breasts or thighs, cut into bite-sized pieces
- 2 tablespoon olive oil
For the Sauce
- 2 tablespoons olive oil
- 1 large yellow onion, thinly chopped
- 5 garlic cloves, minced
- 1 tablespoon ginger, minced
- 1 tablespoons garam masala
- 2 teaspoons cumin powder
- 2 teaspoons paprika
- 2 teaspoons salt
- 1 teaspoon chili powder
- 1 teaspoon coriander powder
- 2 14.5-ounce cans diced tomatoes
- 1 cup coconut cream
- ½ teaspoon dried fenugreek
- 2 tablespoons vegan butter
- Cilantro, garnish (optional)
Instructions
- For the chicken marinade, combine in a large bowl all of your ingredients except the chicken and give everything a good mix. Once it’s combined, add in the chicken and stir until the marinade covers all of the chicken pieces. Cover your bowl securely with plastic wrap and place in the refrigerator to marinate for at least 30 minutes but for best results try overnight.
- Once your chicken has marinated, heat a large pan to medium-high heat, add 2 tablespoons of olive oil, and cook your chicken in batches for 6-7 minutes, stirring occasionally to make sure it’s golden on all sides and scraping up any browned bits so they don’t burn. Remove from the pan and set aside (we will finish cooking the chicken in the sauce).
- With your pan on medium-low heat, begin making your sauce by adding another two tablespoons of olive oil to your pan and tossing in the onions. Saute onions, stirring often and scraping up any remaining browned chicken bits, for around 8-10 minutes, until the onions are soft and translucent.
- Once the onions are ready, add in minced garlic and ginger and cook for about 1 minute. Then, add in all of your spices to the pan to allow them to toast and become fragrant for an additional 1 minute.
- Pour in diced tomatoes and stir until everything is combined. Let simmer while stirring occasionally for 5-8 minutes, until the sauce reaches a deep brown/red color. Once done, carefully scoop out and pour sauce into a blender and blend until smooth. Return the sauce to the pan to continue cooking.
- Add in coconut cream to the sauce and mix until combined, then add chicken and any chicken juices and give it a stir. Once all the chicken is submerged, cover pan with a lid and let the sauce simmer on low for 10 minutes, stirring occasionally.
- After it has finished simmering, remove the lid and add in dried fenugreek and butter and stir until combined.
- Remove from the heat, garnish with cilantro and serve hot with rice or naan bread.
Notes
- I recommend marinating the chicken thighs for at least 30 minutes before cooking. I usually aim for 2 hours, if not overnight–when I remember. This gives the marinade time to penetrate and boosts the flavor of the chicken.
- Be mindful of whether your canned tomatoes contain salt or not, as it may affect the saltiness of your dish.
- Don’t skip searing the chicken before making the sauce. This adds a smoky, caramelized flavor to the dish, similar to a tandoori effect.
- If you use a stand blender or food processor to blend your sauce, be sure to fill it only halfway, as heat causes the sauce to expand when blended. I recommend leaving the lid slightly open and covering the top with a towel to allow steam to escape while preventing splatters. If you’re using an immersion blender, cover the pot partially with a towel to guard against splashing, and blend carefully.
- Add in some of your favorite veggies. I like to add a bag of spinach at the end or some frozen peas to the curry after blending it.
- The traditional way of “blooming” the spices is a must in Indian cooking. When you’re making the curry sauce, sauté the garlic, ginger, and spices (garam masala, cumin, paprika, chili powder, and coriander) in oil for a minute or two. This releases their natural oils and intensifies their flavors.
- Store leftover chicken in an airtight container in the refrigerator for 3-4 days.
- I prefer to reheat on the stovetop until all the chicken is heated through. You can also reheat in the microwave, in a microwave safe dish, covered for 2-3 minutes.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
How to make Dairy-Free Butter Chicken Step-By-Step
Make your chicken marinade by adding ½ cup coconut cream, 2 tbsp lemon juice, 1 tbsp fresh ginger, 3 minced garlic cloves, 1 tbsp garam masala, 1 tsp salt, and 1 tsp chili powder to a large bowl.
Combine all the ingredients and add 2 ½ lbs boneless, skinless chicken thighs, and mix until the chicken is fully coated. Cover the bowl with plastic and place in the fridge for a minimum of 30 minutes or overnight.
Once the chicken has marinated, heat a large skillet over medium-high heat. Heat 2 tbsp of olive oil and sear the chicken by cooking in batches for 3-4 minutes on each side. We want the chicken to become golden brown on the outside but not cook all the way through. The chicken will finish cooking in the sauce, so remove from the pan, cut into bite-sized pieces, and set aside.
Turn the stove down to medium-low. Using the same pan, add another 2 tbsp olive oil and saute 1 large chopped yellow onion for 2 minutes or until slightly translucent. Scrape up any brown bits left from the chicken.
After a few minutes, add 5 minced garlic cloves and 1 tbsp minced or grated ginger and saute for about 1 minute.
Next, bloom your spices. Add 1 tbsp garam masala, 2 tsp cumin powder, 2 tsp paprika, 2 tsp paprika, 2 tsp salt, 1 tsp chili powder, and 1 tsp coriander powder and toast them for 1 minute.
Add in 1 (14.5) oz can of diced tomatoes and stir to combine everything. Let the sauce simmer for 5-8 minutes until it deepens to a brownish-red color.
Carefully scoop the sauce out into your blender and blend until smooth. Once blended, add the sauce back into the pan.
Add in 1 cup of coconut cream and mix well until combined. Add the cooked and diced chicken back into the pan and stir to combine.
Cover the pan with a lid and simmer on low heat for 10 minutes. Remember to stir occasionally to avoid burning the sauce.
Once the simmering is complete, stir in ½ tsp fried fenugreek and 2 tbsp vegan butter.
Remove the chicken from heat. Serve in bowls on top of basmati rice and sprinkled with fresh cilantro. Enjoy!