01 - Heat olive oil in a large pot over medium heat. Add onion, celery, and carrots. Sauté for 5 minutes until vegetables begin to soften.
02 - Stir in minced garlic and cook for 1 minute until fragrant, being careful not to burn it.
03 - Add diced ham and potatoes to the pot. Cook for 2 minutes, stirring occasionally to combine flavors.
04 - Sprinkle flour evenly over the mixture, stirring constantly to coat all ingredients and prevent lumps from forming.
05 - Slowly pour in chicken broth while stirring continuously. Add thyme, salt, and black pepper. Bring mixture to a gentle boil.
06 - Reduce heat to low, cover pot, and simmer for 15 minutes until potatoes are fork-tender when tested with a fork.
07 - Stir in low-fat milk and half-and-half. Heat through for 3-5 minutes, stirring frequently. Do not allow the soup to boil as dairy may separate.
08 - Taste chowder and adjust salt or pepper if needed. Ladle into bowls, garnish with fresh parsley, and serve immediately.