Make Roux: In a large pot, melt butter over medium heat. Add diced onion and minced garlic, and sauté until softened. Stir in flour and cook for 1-2 minutes to form a roux.
Add Liquids: Slowly whisk in chicken broth and heavy cream, ensuring no lumps remain. Bring to a simmer and cook for 5-7 minutes, allowing the soup to thicken.
Add Chicken and Ham: Stir in shredded chicken, diced ham, and Dijon mustard. Continue simmering for 5 minutes.
Add Cheese: Reduce heat to low and stir in Swiss and mozzarella cheese until melted and the soup is creamy.
Season and Serve: Season with salt and pepper to taste. Garnish with fresh parsley if desired.
Preparation Time: 10 minutes
Cooking Time: 20 minutes
Calories: Approx. 450 per serving
