Melt butter over medium high heat in a 6-quart Dutch oven or soup pot. Add onions and carrots. Cook for 5 minutes, stirring frequently.
Add garlic and cook for 30 seconds, stirring frequently.
Slowly add flour, while continuing to stir.
Add chicken broth, corned beef, sauerkraut, caraway seeds, dressing and bay leaf. Stir to combine.
Bring to a gentle boil, then reduce heat as necessary to maintain a simmer (medium low to low).
Cover and simmer for 20 to 25 minutes, or until carrots are tender.
Remove from heat and stir in heavy cream. Remove and discard bay leaf.
Serve topped with shredded Swiss cheese.