Drain the soaked lentils and kidney beans. Pressure cook them with 3 cups of water and salt for 4-5 whistles until soft. Set aside.
Heat butter and oil in a pan. Add cumin seeds and let them splutter. Add chopped onions and fry until golden brown — about 8-10 minutes.
Add ginger-garlic paste, cook for 2 minutes. Add tomato puree, red chilli powder, and coriander powder. Cook until oil separates — about 10 minutes.
Add the cooked dal into the masala. Mix well, add 1/2 cup water, and bring to a simmer. Mash some lentils with a spoon for a creamier texture.
Stir in fresh cream and garam masala. Simmer on low heat for 10-15 minutes, stirring regularly. Adjust salt.
Finish with a tablespoon of butter. Garnish with coriander and a swirl of cream. Serve hot with naan or rice.