How to Make It
Combine lentils and kidney beans in a large saucepan; add water to cover by 3 inches, and let soak 8 hours or overnight. Drain and add 5 cups water and 1 tablespoon salt to beans in pan. Bring to a boil over medium-high; cook, stirring occasionally, until lentils and beans are tender but not mushy, about 45 minutes. Drain, reserving cooking liquid. Set aside.
Heat ghee in a large Dutch oven over medium. Add cumin seeds, peppercorns, bay leaf, cinnamon stick, cloves, green cardamom pods, and black cardamom pod, if using. Cook, stirring constantly, until spices begin to sizzle, about 30 seconds. Stir in ginger and garlic, and cook, stirring constantly, until lightly browned, about 1 minute. Add onion, chiles, and 1/4 teaspoon salt. Cook, stirring often, until onion is browned, about 7 minutes. (If needed, add a teaspoon or so more ghee.) Stir in chile powder and turmeric; cook, stirring constantly, 1 minute. Add crushed tomatoes, and cook, stirring often, until tomatoes are slightly thickened and glossy, about 12 minutes.
Stir drained lentil mixture into tomato mixture, crushing lentils and beans slightly with a ladle. Add 2 cups reserved cooking liquid, blanched collards, half-and-half, garam masala, remaining 1 cup water, and fenugreek leaves, if using, and bring to a simmer over medium. Reduce heat to medium-low, and simmer, stirring occasionally, 15 minutes. Season with remaining 1 1/2 teaspoons salt. (If dal is too thick, thin with an additional 1/2 cup water.) To serve, drizzle with cream, sprinkle with ham, and garnish with cilantro. Serve with naan or paratha.