Wash and soak the grains overnight or at least 5 hours.
Cook the soaked grains in a pressure cooker with enough water and salt. After 2 whistles check if it cooked.
Heat oil in a thick bottom pan, add 1 tsp whole cumin and fry 4 chopped garlic cloves and 1 tbsp chopped ginger till light golden.
Add 1 large chopped onion and saute till light brown. Then add 1 large chopped tomato, 2 green chilies finely chopped, 1 tbsp red chili powder and 2 tsp roasted cumin powder. Fry till tomatoes turn soft and mushy. Roast the masala on very low heat for few minutes, and if needed add few drops of water.
Add whisked yogurt, 1 tbsp lemon juice and 3/4th portion of boiled grains along with its water.
Mash remaining 1/4th portion of the boiled grains and add it to the gravy. Once the dal starts boiling, reduce the heat, cover and cook for 20 minutes on low flame, or till the extra water evaporates and you get the desired consistency. Keep stirring while it is being cooked.
Finally add 1/2 cup cream, 1/4 tsp garam masala powder, and salt if needed.
Taste and check the seasoning. Cook for another 5 minutes on medium heat and then turn off the gas. Let it stand for at least 15 to 30 minutes before serving.
Reheat the dal and pour into a serving dish.