Rinse the red lentils under cold water until the water runs clear, then set aside.
Heat oil in a medium-sized pot over medium heat until shimmering. Add the chopped onion and sauté for about 5 minutes, until translucent and fragrant.
Add the minced garlic and grated ginger, cooking for another minute until you smell a warm, spicy aroma.
Stir in the toasted cumin, turmeric, and smoked paprika, cooking for 30 seconds to release their fragrant oils.
Pour in the chopped tomatoes and cook for about 5 minutes, stirring occasionally, until the mixture thickens slightly and the oil starts to separate from the tomatoes.
Add the rinsed lentils to the pot, then pour in water or broth. Bring to a boil, then reduce the heat to low, cover, and simmer for 20-25 minutes, stirring occasionally, until the lentils are tender and breaking apart.
Check the consistency; if the curry is too thick, stir in a splash more water. If too thin, uncover and simmer for a few more minutes until thickened.
Turn off the heat, then squeeze in fresh lemon juice and stir in chopped cilantro. Taste and adjust seasoning with salt as needed.
Let the curry rest for a few minutes, then serve hot with rice or flatbread, garnished with extra cilantro if desired.