Heat half of the olive oil in a large pot over high heat. Add the ham and cook for 1 to 2 minutes until lightly browned. Remove and set aside.
1 tablespoon olive oil, 11/2 cups cubed leftover ham
Add the rest of the olive oil. Add the onion, carrot, and celery. Cook for 4 to 5 minutes until the onion softens. Add the garlic and cook for 1 more minute.
1 cup yellow onion, 1/2 cup carrot, 1/2 cup celery stalk, 11/2 teaspoons garlic
Add the butter and let it melt. Sprinkle in the flour and stir for 1 minute. Add the thyme, oregano, cayenne, salt, and pepper. Cook for 30 seconds.
3 tablespoons unsalted butter, 3 tablespoons flour, 3/4 teaspoon dried thyme, 3/4 teaspoon dried oregano, 1/2 teaspoon ground cayenne pepper, Salt and pepper
Pour in the chicken broth and whisk until it starts to thicken. Add the milk and whisk again for 1 to 2 minutes.
1 1/2 cups chicken broth, 1 cup milk
Bring the soup to a boil, then lower the heat to medium. Add the potatoes and cook for about 20 minutes, stirring often, until tender. If the soup is too thick, add a little extra broth.
2 cups baby gold potatoes
Add the corn and the reserved ham, and cook until heated through. Reduce heat to low, add the shredded cheese, and stir until just melted. Taste and adjust seasoning.
1 1/2 cups corn, 1 cup Cheddar cheese, Fresh parsley
Ladle the soup into bowls and garnish with fresh parsley.