Rich and filling, this rewarms well but should not be brought to the boiling point.
Heat 2-½ tablespoons butter in a heavy pan, add spinach and leeks, and cook until soft. Sprinkle in flour and cook for 2 minutes, stirring. Add chicken broth and cook until thickened. Simmer for 15 minutes. Mash the cream cheese in a bowl, add salt and pepper, and stir in yogurt and egg yolks. Beat until smooth. Carefully stir cheese mixture into the soup and cook over low heat for 5 minutes, stirring constantly. Saute the ham in the remaining butter and add to soup. Serve hot, garnished with chives.