In a large stock pot, saute carrots, onion, celery, thyme and rosemary in olive oil over medium high heat for 10 minutes, stirring frequently. Add in the garlic and cook 1 minute more.
Add the potatoes and broth and bring to a boil. Boil 15 minutes or until vegetables are fork tender.
While the vegetables boiling, melt butter in a skillet over medium heat. Whisk in the flour until combined, then slowly add in the milk, while whisking, until combined. Let mixture simmer for 5 minutes or until it begins to thicken, stirring frequently.
Once thickened, remove from the heat and stir in the cheese, salt and pepper to taste. Set aside.
Reduce the stock pot to medium and stir in the roux, followed by the ham and the corn. Cook for 5 minutes, mixing everything together and until ham and corn are heated through.
Divide soup into bowls and season to taste with additional salt and pepper.
Notes
If you need to substitute cornstarch for the flour, you'll need 1 ½ tablespoons. Mix the cornstarch with 2 tablespoons of the milk. Melt the butter, slowly pour in the milk and bring it to a simmer. Once simmering, add in the cornstarch mixture and stir until thickened. Then follow recipe as stated above for adding in cheese and the remaining steps. Ham and Potato Soup should not be frozen as the potatoes take on a mealy texture. Soup will keep in the refrigerator for -3-5 days.