Soak the beans overnight in warm water.
Next day drain out the stale water, wash the beans and put them in a pressure cooker with about 3 cups of water (from the measured amount) or till the beans are covered with water.
Add turmeric powder and cook the beans for 3 to 4 whistles or till done.
Chop the onions finely to get 1½ cups of it. Mince the remaining half cup.
Heat oil and ghee in a big pan over medium heat.
Add cumin and carom seeds. As soon as it turns light brown, add the chopped onions.
Stir fry the onions till they are soft and appear pink in colour.
Add the minced onion, ginger strips, garlic and chilli paste. Stir fry till it becomes light brown and the oil begins to separate from the mixture.
Add the spice powder and stir fry for a minute.
Add ½ cup water and mix thoroughly.
Add the tomato puree, salt and mix well. Cover the pan and let the tomato mixture cook over low heat for 5 minutes.
Mash about ½ cup beans or lightly mash the whole mixture.
Add the beans to the tomato mixture. Add the remaining water.
Mix well and let the rajma simmer over low heat for 15 to 20 minutes. Remember to stir it occasionally so it does not stick to the bottom of the pan.
Just before serving add the chopped coriander and fresh cream.
Serve with hot parathas, rotis or rice.