01 - Heat olive oil in a large pot over medium heat. Add onion, celery, and carrots. Sauté for 5 minutes until softened.
02 - Stir in minced garlic and cook for 1 minute until fragrant.
03 - Add diced ham and potatoes to the pot. Cook for 2 minutes, stirring occasionally.
04 - Sprinkle flour over the mixture, stirring well to coat vegetables and ham evenly.
05 - Gradually pour in chicken broth while stirring to prevent lumps. Add thyme, salt, and pepper. Bring to a gentle boil.
06 - Reduce heat to low, cover, and simmer for 15 minutes until potatoes are fork-tender.
07 - Stir in milk and half-and-half. Heat through for 3 to 5 minutes without boiling, stirring frequently.
08 - Taste and adjust seasonings as desired. Ladle into bowls, garnish with fresh parsley, and serve hot.