In a large pot or Dutch oven, heat the oil over medium heat. Add the onion, garlic, salt, black pepper and pepper flakes and cook, stirring, until tender, about 5 minutes.
Add the sweet potato, lentils, curry powder, turmeric, cumin and paprika and continue to cook, stirring, until the spices are fragrant and lightly toasted, about 2 minutes.
Add the broth, fire-roasted tomatoes and bay leaf. Bring to a rapid simmer then reduce the heat to light simmer, cover and cook until the lentils and sweet potatoes are tender, about 25 minutes, stirring occasionally.
Add the spinach and coconut milk and stir until well combined and the spinach has just wilted. Let simmer, uncovered, for 5 minutes to let the flavors meld.
Remove from heat, stir in the lemon juice and add more salt, if desired. To serve, ladle into bowls and garnish with cilantro.
Notes
Reheating Note: When this soup is stored, the lentils and sweet potatoes will absorb a lot of the broth. When reheating this on the stove, add additional broth and coconut milk as needed.