In a 6-quart pot, lightly brown the lamb bones in butter. Remove lamb from pot. If the butter has burned, pour it out and replace it with fresh butter. Add the onions, carrots and celery. Stir over medium heat for about 5 minutes and then add turmeric, ginger, cinnamon, curry powder and saffron. Stir for 5 minutes more.
Add broth. Cover the pot and simmer gently for an hour. Remove the lamb bones and strain mixture to remove all vegetables, debris and foam. Wash the pot and pour the strained mixture back into the soup pot. Add the new vegetables (onions, celery and carrots), lentils and tomatoes and simmer for about 20 minutes, or until the lentils and vegetables are just cooked through.
Add the canned garbanzo beans and the left over lamb meat. Bring to a boil and simmer for 5 minutes. Stir parsley, cilantro and yogurt into soup. Season soup with salt and pepper to taste. Ladle into soup bowls, sprinkle with more cilantro.