Cheesy Ham and Potato Soup

Ingredients
- 2 tablespoons extra-virgin olive oil
- ½ white or yellow onion diced
- 2 stalks celery diced
- 1 medium carrot diced
- 1 garlic clove minced
- Salt and freshly ground black pepper
- 4 cups chicken broth
- 1½ pounds russet potatoes peeled and cut into 1-inch cubes (about 4 cups)
- 1½ to 1¾ cups diced cooked ham 8 to 9 ounces
- 5 tablespoons unsalted butter
- ¼ cup all-purpose flour
- 2 cups whole milk
- Shredded Cheddar for serving
- Chopped scallions for serving
Instructions
- Heat the olive oil in a large pot or Dutch oven over medium. Add the onion, celery, carrot, garlic and 1 teaspoon each salt and pepper and cook, stirring, for 2 to 3 minutes, until the onion is just softened and everything is fragrant.
- Adjust the heat to medium-high, then add the broth, potatoes and ham to the pot and cover to bring to a boil. Reduce heat and simmer, covered, until potatoes are soft when pierced with a fork, 10 to 15 minutes.
- Meanwhile, in a small saucepan over medium heat, melt the butter. Add the flour and whisk until light brown and fragrant, about 1 minute. Add milk and continue to whisk until thickened, making sure no lumps form, 4 to 5 minutes more.
- Add the milk mixture to the pot. Stir until incorporated and the soup is fully warmed through and creamy, about 3 minutes. Taste and season with salt and pepper as needed. Serve warm, topped with shredded Cheddar and chopped scallions. Soup can be refrigerated for up to 5 days.