First, prepare the legumes. Pick over and wash the mung beans and red lentils in a sieve.
Transfer them to a large, heavy-based pan with 7 cups (1680 ml) / 1. 7 liters of water.
Bring to a rolling boil for 2 minutes.
Turn off the heat, cover the pan, and let it stand for 1 hour.
After an hour, bring the water back to a boil, then reduce the heat to low, cover, and simmer gently for 1. 5 hours, or until the beans are completely tender.
Stir in the salt and set aside.
While the dal simmers, prepare the spice base (tarka).
Heat the oil in a medium frying pan over medium-high heat.
Once hot, add the cinnamon stick, bay leaves, and cardamom pods and stir for 30 seconds until fragrant.
Add the finely chopped onion and fry for 7-8 minutes until the edges start to brown.
Stir in the grated ginger and crushed garlic and cook for another 2 minutes.
Add the tomato purée, ground coriander, cumin, turmeric, and chili powder, stirring constantly for 2 minutes.
Pour in 1 cup / 240 ml of water, stir to combine, and let it simmer gently for 5 minutes to form a thick paste.
Remove and discard the whole spices (cinnamon, bay leaves, cardamom), then stir in the garam masala.
Pour the finished spice paste into the pot of cooked lentils and beans.
Stir everything together until well combined.
Taste for seasoning and add more salt if needed. If you prefer a thinner dal, stir in a little hot water until you reach your desired consistency. To serve, ladle the dal into bowls and finish with a dollop of ghee or butter, if desired.
Adjust the dal's consistency to your liking. Aim for a thicker dal when serving with flatbreads and a thinner, more soup-like consistency for serving with rice.