Dal Makhani (pronounced makh-nee) is probably everyone’s favorite dal. It’s creamy and rich, with a silky almost luscious texture to the gravy. It hits those perfect savory notes, bursting with Indian spices and balanced with just enough of the sweet leaning ones.
Dal translates to pulses (and typically refers to lentils) while makhani means with butter. But while this dish is essentially named “lentils with butter,” we all know and love it specifically as the Punjabi dish of urad dal with kidney beans cooked in a creamy rich tomatoey gravy.
As the name might suggest, this dish is not the most vegan friendly of restaurant dals. Traditional recipes often stick an entire stick of butter (that’s 8 tablespoons, if anyone is counting) in a recipe such as this, and after that will still add a bit of cream. And that doesn’t even include the oil or butter used to fry a tadka.
- 1 cup dry whole urad dal*, debris removed and soaked in plenty of water overnight or for at least 6 hours
- 4 cups water
- 15 oz can kidney beans (1 1/2 cups), drained and rinsed
- 3 tbsp coconut oil or vegan butter
- 1 tsp cumin seed
- 1 small bay leaf
- 4-6 cloves garlic, minced
- 1 tsp minced ginger
- 1-2 chiles, minced with seeds removed if desired
- 1 small onion, finely chopped (~1 cup)
- 1 cup tomato puree or strained tomatoes
- 1 1/2 cups water (including water reserved from cooking urad dal)
- 1-1 1/2 tsp salt, to taste
- 1/2 tsp garam masala
- 1/2 tsp ground coriander
- 1/2 tsp cayenne, optional & more or less to taste
- 1/4 tsp turmeric
- 1 tbsp kasoori methi, crushed (optional)
- 1/4-1/3 cup coconut cream or coconut milk*
- Minced cilantro
- Basmati rice
- Add the soaked urad dal to a pot along with 4 cups of water. Bring it to a boil, then lower the heat to simmer. Cook covered for 30-40 minutes or until dal is very tender. Turn off heat and strain the lentils, reserving any leftover cooking water.
- In a large pot eat the coconut oil or vegan butter over medium. Add the cumin and bay leaf and fry until they crackle and turn a shade darker. Add the garlic, ginger, and chiles and cook about 30 seconds to 1 minute. Add the onion and fry until golden and soft, 4-6 minutes.
- Add the tomato puree (watch for splattering), the reserved dal cooking water + fresh water to equal 1 1/2 cups of water, 1 teaspoon of salt, garam masala, coriander, cayenne if using, and turmeric. Crush the kasoori methi between your hands into the pot. Simmer for 3-5 minutes.
- Add the urad dal and the kidney beans. Cover and simmer over low heat for 30 minutes, stirring occasionally so the lentils don't stick and burn on the bottom of the pan. Taste and adjust salt if desired, add more salt if the dish tastes flat.
- Stir in the coconut cream and simmer for 5 minutes.
- Garnish finished dish with a swirl of coconut milk and minced cilantro. Serve with basmati rice.
- *Whole urad dal is also known as black gram. You can substitute black beluga lentils for a different/less traditional but also tasty result. Black beluga lentils do not need to be soaked before cooking, and cook them for 25 minutes. Note that the dal made with black beluga lentils might be more watery, so consider starting with less water (3 cups) and just adding more as necessary as it cooks.
- *Use the cream that collects at the top of the can of coconut milk. If your coconut milk is not separated, then don't worry about it and just use the creamy coconut milk, it'll still be great!