In a large pot or Dutch oven, melt butter over medium heat. Add rye bread cubes and cook, stirring occasionally, until golden brown and crispy. Remove from pot and set aside.
Add onion and celery to the pot and cook until softened, about 5 minutes. Add garlic and cook for 1 minute more.
Stir in flour and cook for 1 minute. Gradually whisk in beef broth, bring to a boil, then reduce heat and simmer for 15 minutes.
Add potatoes, bay leaf, salt, and pepper to the pot. Continue to simmer until potatoes are tender, about 10-15 minutes.
Stir in whipping cream and Gruyère cheese. Cook until cheese is melted and sauce is slightly thickened.
Remove bay leaf. Stir in caraway seeds and parsley.
Ladle soup into bowls. Top with corned beef and croutons. Serve immediately.