Wash the lentils and rajma 3-4 times and soak overnight or for atleast 10 hours.
Discard the water and add lentils and rajma to a pressure cooker along with all the ingredients listed under "boil the lentils". Pressure cook on medium heat for 6-7 whistles. Takes about 15 minutes (adjust the time as per your pressure cooker//Instant pot). Let pressure release naturally.
While the lentils are boiling you can start making the tempering.In a heavy pot or kadai, heat up the ghee.
Temper the ghee with clove, bayleaf, dried chilies, cumin seeds and hing all at once. Saute for 10-15 seconds or so and then add the chopped onions. Brown the onions to a dark (but not burnt) shade of brown while sautéing in ghee. Takes about6-7 minutes on medium low stove.
Add the ginger garlic paste along with coriander and red chili powder. Saute the spices for 30-45 seconds.
Then add the tomatoes and let them cook for 3-4 minutes with the masala till you see oil bubbles separating on the sides.
Meanwhile, the dal must have pressure cooked Using back of your spoon, slight mash the dal and stir so that water and lentils are mixed well.
Add the warm dal to the onion tomato masala. Add the chopped ginger (if suing) and mix well. Taste and adjust the salt. Also depending on the consistency you like, add ½ cup or more water. Let come to a slow boil.
Cover and let the dal simmer for about 20-25 minutes on low heat. You will need to stir it in between (that makes it creamy) and make sure that its not sticking to the bottom of the pot.
Once the dal has simmered and its of desired consistency, add the garam masala and heavy cream. Mix well and simmer for another 5 minutes.
Garnish with cilantro, ginger julienne etc and serve. You can also add some butter if you wish.