Dal Makhani

Dal makhani is a traditional Indian dish originating from the Punjab region (in North India). It is a hearty dish made from lentils and kidney beans. Traditionally it is made with butter and cream, but to make this dish vegan these ingredients are substituted with coconut milk and coconut oil.
Incredible Dal Makhani that has been prepared in the Instant Pot gives you sensational flavors in every bite. Hearty lentils, kidney beans, fresh spinach, and spices summon you to eat more and more of this healthy and decadent dish. 
Skip the restaurant and make this flavorful Dal Makhani at home instead. You can get even better flavors because cooking it in a pressure cooker allows all the seasonings and spices to marry together, and it speeds up the cooking time for those dry beans & lentils!
I love the flavors and textures of homemade Dal Makhani. The key is to use lots of warm spices and full-fat coconut milk. It will result in a creamy dish that you just can’t beat with anything else. Inspired by pickyeaterblog.com.
Prep Time 15 minutes
Cook Time 1 hour
Total Time 1 hour 15 minutes
Course Main Course
Cuisine Indian
Servings 4 people
Calories 201 kcal


  • Instant Pot or Pressure cooker
  • Chopping Knife
  • Cutting Board
  • Potato Masher
  • Large Stock Pot


For The Instant Pot, Slow Cooker, or Pressure Cooker

  • cup  dry brown lentils (about 2.5 cups cooked)
  • 1/4  cup  dry red kidney beans
  • cups  water
  • oz  baby spinach chopped finely

For The Spices (On the Stovetop)

  • 1  red onion diced
  • tbsp  ginger garlic paste (or 2 tsp minced ginger + 1 tsp minced garlic)
  • 1.5 cups  crushed tomatoes (15oz can)
  • 1.5  tsp  salt (or more to taste)
  • tbsp  coconut oil
  • tsp chili powder 
  • 1/2  cup  full fat coconut milk
  • tsp  garam masala


  • Cook the lentils, kidney beans + water in the instant pot (you can also do this in a slow cooker or on the stovetop, the cook time will just be longer). In the Instant Pot, cook on high pressure for 30 minutes, natural release.
  • Mash some of the lentils + beans using a potato masher. Add in the baby spinach and let the dal simmer on “keep warm” setting while you make the spice mixture. 
  • To make the spice mixture (masala), heat a medium pot over medium heat. 
  • Add coconut oil, onions, garlic ginger paste (or minced garlic/ginger), and cook until the onions are translucent. 
  • Add the crushed tomatoes and cook through – about 5 minutes. Add the spices and salt. Cook about 3 minutes more. 
  • Add in the lentils/kidney beans/spinach mixture into the large pot. Stir to combine and simmer for 20 minutes, uncovered, on medium low heat.  Add water if the dal is getting too thick. 
  • Add the coconut milk and let it simmer for another 10 minutes until combined. 


  • Do not use a milk substitute for the coconut milk unless it is full fat. This will affect the way the dish turns out. 
  • Feel free to swap the spinach for kale if you want to try a different leafy green in this recipe.
  • Garnish with your favorite toppings such as fresh tomato slices or cilantro. 
  • Do not add the coconut milk until the last 10 minutes, or it will not turn out properly in the Instant Pot. 
  • You can make this ahead of time and serve it the next day – the flavors will just blend together even better as it sits overnight in the fridge!
  • Serve with whole wheat naan, sprouted wheat tortillas, brown rice or quinoa.
  • If you don’t have an Instant Pot, you can cook the lentils & beans in a slow cooker or even on the stovetop — the cook time will just vary as both will take longer than the Instant Pot!