In a pot, cover the lentils, cardamom and sliced ginger with 1 inch of water. Bring to a boil and cook over moderately high heat until the lentils start to soften, about 10 minutes. Drain the lentils and transfer to a bowl; discard the cardamom and ginger.
Melt 3 tablespoons of the butter in the pot. Add the onion, garlic, and minced ginger and cook over moderate heat, stirring occasionally, until softened, 8 minutes. Reduce the heat to low. Add the coriander, cumin, cayenne, and garam masala and cook, stirring, until fragrant, 4 minutes.