Heat the olive oil in a large pot over medium heat. Add the onion and carrot with a pinch of salt and cook for 5 minutes until soft.
Add the garlic and ginger and stir for 1 minute until fragrant.
Stir in the turmeric, cumin, coriander, chili flakes and black pepper and toast for 30 seconds.
Add the lentils, tomatoes, broth and salt. Bring to a boil, then lower the heat and simmer for 20 to 25 minutes, stirring now and then, until the lentils break down and the soup is thick.
Remove the scotch bonnet if you used one. Stir in the coconut milk and lime juice, then taste for salt.
Ladle into bowls and top with cilantro and extra chili flakes.