Heat the extra virgin olive oil in a Dutch oven over medium heat. Add the diced yellow onion, kosher salt, ground black pepper, minced garlic (or garlic powder), and grated fresh ginger (or ground ginger). Sauté the mixture, stirring occasionally, until the onions are tender and translucent, about 4 minutes.
Add paprika, curry powder, cayenne pepper, ground cinnamon, ground cumin, ground turmeric, and tomato paste to the sautéd mixture. Stir well and toast everything together until the spices are very fragrant and the tomato paste has slightly darkened, about 2 minutes.
Add the dry brown lentils to the pot and stir until coated with the spiced onion and tomato mixture. Pour in the low-sodium vegetable broth (or chicken broth) and add the bay leaf. Stir to combine. Bring the mixture to a boil over high heat, then reduce to a simmer, cover with a lid, and cook, stirring occasionally, until the lentils are almost tender but still have a slight bite, about 20 minutes.
Remove the lid from the pot and stir in the coconut milk. Continue cooking the lentils uncovered, stirring often, until they are tender but not mushy, about 5 to 10 more minutes. Once the lentils reach the perfect consistency, stir in the fresh lemon juice. Taste and adjust salt if needed. I like to squeeze in a little extra lemon for a bright finish if you love citrus too!
Spoon the finished lentil curry into bowls and top each serving with a sprinkle of chopped fresh cilantro. Serve warm and enjoy! For extra freshness, I sometimes add a little more cilantro on top right before serving.