A delightful and creamy soup combining the comforting flavors of ham, Swiss cheese, and potatoes.
Peel and dice the potatoes into small cubes.
Cut the potatoes evenly to ensure they cook at the same rate.
Place the diced potatoes in a saucepan and cover with water. Bring to a boil and cook until tender.
Check the potatoes with a fork; they should be soft but not falling apart.
Drain the potatoes, reserving one cup of the cooking liquid.
The reserved liquid adds a starchy base to the soup.
In a large saucepan, melt the butter over medium heat.
Use medium heat to avoid burning the butter.
Add the chopped green onions to the melted butter and sauté until tender.
Stir frequently to prevent the onions from browning too much.
Stir in the flour and cook for a minute to create a roux.
Cook the roux just enough to remove the raw flour taste.
Gradually whisk in the milk and reserved potato liquid, stirring until smooth.
Whisk continuously to avoid lumps forming.
Bring the mixture to a gentle boil, then reduce heat and simmer until thickened.
Simmer gently to prevent the milk from scorching.
Add the cooked potatoes, diced ham, and shredded Swiss cheese to the soup.
Stir until the cheese is fully melted and incorporated.
Season with salt and pepper to taste.
Taste the soup before adding salt, as the ham and cheese may already be salty.
Serve the soup hot, garnished with additional green onions if desired.
Serve with a side of crusty bread for a complete meal.