Melt the butter (or oil) in a large pot over medium heat. Add the ginger and garlic and cook for 30 seconds to 1 minute, until fragrant. Then, add the onion and carrots (and jalapeño if using it) and saute for about 5 minutes, or until the onions are soft and translucent.
Add the spices, tomatoes and apples and cook for another 3 minutes, to let the spices open up. Then, add the lentils, water and bouillon and simmer on medium-low heat for 20 minutes.
Add about 3/4 of the soup to a blender and blend until smooth (you can also use an immersion blender if you have one). Add the blended soup back into the pot, then add the coconut milk and mix until fully incorporated.
Ladle it into a bowl, and garnish with fresh cilantro. Serve it on its own, or with warm naan or Basmati. Enjoy!