Preparation Time: 1 hour
In a large soup pot, saute onion in butter until translucent. Add tomato paste, curry powder, cumin, and cayenne and stir until fragrant, 30 seconds to a minute. Add lentils, tomatoes, bay leaves, broth, and potato. Partially cover, bring to a boil, and cook until lentils and potato are tender, about 20-30 minutes, skimming off any foam that rises to the surface. Remove from heat and puree soup a bit with an immersion blender (but don't make it too smooth). Return to heat, stir in spinach and salt and pepper to taste, and cook for a minute or so until spinach is wilted into the soup.