In a Dutch oven or saucepan, bring water and kielbasa to a boil. Reduce heat to medium-low and cook for 20 minutes (this will flavor the water).
Pour the liquid and kielbasa into a bowl. Set aside.
Return saucepan to medium heat. Add butter, leek, onion, and garlic; cook until soft, about 5 minutes. Add reserved liquid, potatoes, marjoram, and bay leaf and cook until potatoes are tender, for about 20 minutes.
Discard bay leaf and, using an immersion blender or a food processor, purée soup (leave some chunks if you desire).
In a small bowl, whisk flour and sour cream together until smooth. Whisk in ½ cup soup until smooth. Pour the mixture into the soup. Simmer the soup, stirring constantly until thickened, about 5-10 minutes; season with salt and pepper to taste.
Cut the kielbasa into slices and add to the soup. Stir in horseradish. Garnish with dill, parsley, and eggs.
Notes
This white borscht is creamy and silky, but don't purée the ingredients if you prefer it super chunky.
You can use fresh-grated or prepared horseradish.
Use a heavy-bottomed pan or dutch oven to make the soup. It will distribute the heat more evenly.
Swap the all-purpose flour for a 1:1 GF flour, or use arrowroot powder (½ tbsp) for a gluten-free version.
You could use Daikon radishes instead of potatoes.
Please keep in mind that nutritional information is a rough estimate and can vary significantly based on the products used and serving size.