Heat oil in a large sauce pan over medium-high heat. Add the onions, carrots, and celery until tender.
Mix in the garlic and thyme and flour and cook until the flour is lightly browned, about 2-3 minutes.
Slowly stir in the broth, deglazing the pan as you go, add the milk and potatoes. Bring to a boil, reduce the heat and simmer until the potatoes are tender. About 10 minutes.
Add the ham. Cook until heated and season with salt and pepper.