This soup needs a bit of simmering time, which makes it a perfect choice for Sunday lunch or dinner. For a vegetarian option, eliminate the ham bone and the turmeric and add 1 to 2 teaspoons smoked paprika.
Combine lentils and water in a 5- to 6-quart heavy-bottomed pot. Add ham bone, partially cover the pot, and simmer, stirring occasionally, until lentils are just barely tender, 45 minutes to 1 hour. Add more liquid as necessary.
As lentils finish cooking, melt the butter in a large skillet over medium heat. Add onions, carrots, and celery, and cook until onions are translucent, about 6 minutes. Add cumin, chili powder, turmeric, salt, and pepper, and cook, stirring, for 2 more minutes.
Add vegetable mixture to lentils in pot. Simmer, partially covered, until lentils are fully cooked, about 30 minutes longer. Remove ham bone and set aside to cool. Cut meat from ham bone, chop, and add to soup. Check seasoning and add additional salt and pepper to taste. Garnish with parsley.