Rinse lentils, then drain and set aside.
In a medium saucepan over medium-high heat, heat oil. Add 1 cumin seed. When seed sizzles, add remaining cumin. Cook, stirring occasionally, until seeds are sizzling and dancing in pan and are very fragrant, 15 to 30 seconds.
Add onion and ½ teaspoon salt and cook, stirring occasionally, until translucent and browned in parts, about 4 minutes. Stir in garlic and ginger and cook, stirring, until fragrant, about 30 seconds. Stir in coriander, turmeric, and chili powder and cook, stirring, until fragrant, about 15 seconds.
Add drained dal to saucepan and stir to coat. Pour in water and bring to a boil. Reduce heat to medium-low, cover, and simmer, stirring a few times, until lentils are tender and water is partially reduced, 25 to 30 minutes.
Add milk and cook, stirring occasionally, until heated through, 2 to 3 minutes. If needed, add more water until desired thickness is reached. Mix in garam masala; season with salt. Remove from heat. Stir in lemon juice.
Serve over rice or plain as a soup with naan or flatbread alongside. Top with cilantro and coconut. Spoon achaar over for heat, if using.
