Start by heating some butter or olive oil in a soup pot over medium heat. Add finely chopped onion and garlic, sautéing for about 3–4 minutes until they soften and become fragrant. This step lays down a rich, savory base that deepens the flavor of the entire soup.
Sprinkle flour over the onion and garlic mixture, stirring well to form a thick paste (a roux). Let it cook for another minute to eliminate any raw flour taste. Then, slowly pour in the broth while stirring constantly to avoid lumps. Bring the mixture to a gentle simmer as it begins to thicken, creating a velvety texture.
Lower the heat slightly and gently add the heavy cream, stirring until the soup becomes smooth and luxuriously creamy. The base should take on a rich consistency with a glossy finish that signals it’s ready for the hearty ingredients.
Toss in diced corned beef and well-drained sauerkraut, letting them simmer in the creamy broth for about 10 minutes to meld the flavors. Gradually stir in shredded Swiss cheese so it melts evenly. Add Dijon mustard, caraway seeds (if using), and season with salt and black pepper. Let it simmer another 5 minutes to deepen the tangy, savory notes.
Remove the pot from heat and ladle the soup into warm bowls. Garnish each serving with a sprinkle of chopped fresh parsley for a pop of color. Serve immediately and enjoy every spoonful of this cozy, flavorful creation.