While the lentils cook, in another stock pot (if using pressure cooker method) add butter or ghee and brown the the chopped onions. Add the chiles, ginger paste, garlic, cumin, chili powder, cayenne, cloves, cardamon, broken cinnamon stick and sauté for several minutes until aromatic. Remove the cloves, cardamom and cinnamon from pot and place in a piece of cheesecloth. Tie and set aside.
Stir in the tomato sauce, water, cooked lentils and kidney beans. Simmer on low for at least 40 minutes. As this simmers the lentils break down. Carefully place half in a blender and puree. Be careful as this is hot, keep lid vented slightly. Pour back into the soup pot and stir (or use an immersion hand blender and pulse several times). Don't puree completely with hand blender, you still want some lentil texture. Add the spice bag and continue to simmer for 10 more minutes. The soup becomes creamier as it simmers, almost a velvety consistency. Remove spice bag and discard.
If you’d like it creamier and thicker, add the cream or omit. Add the liquid smoke (unless you're cooking this on a charcoal fire!), this is optional, but the flavor is great. Salt to taste and stir to incorporate in the lentils.
Serve this garnished with chopped cilantro and lots of dosa, naan, roti, flatbread, pitas or whatever bread you like.