In a large pot, heat the olive oil over medium heat. Add the diced onion, garlic, carrot, and celery. Sauté for about 5 minutes, until the vegetables are softened.
Stir in the caraway seeds and black pepper, cooking for an additional minute until fragrant.
Pour in the chicken broth and bring the mixture to a boil. Reduce the heat and let it simmer for 10 minutes.
Add the sauerkraut and chopped corned beef to the pot, stirring to combine.
Slowly stir in the heavy cream and shredded Swiss cheese, allowing the cheese to melt and the soup to become creamy.
Mix in the Dijon mustard and season with salt to taste. Heat through for another 5 minutes, but do not let it boil.
Serve hot, garnished with fresh parsley.