In a large pot, melt the butter over medium heat. Add the chopped onion, celery, and carrots. Cook and stir frequently until the vegetables are tender, about 5 minutes.
Stir in the flour, cooking and stirring for two more minutes to remove the raw flour taste.
Gradually add the chicken broth while stirring continuously to prevent lumps. Bring the mixture to a simmer.
Add the diced potatoes, cubed ham, thyme, and bay leaf to the pot. Cover and let simmer for about 15 minutes, or until the potatoes are fork-tender.
Once the potatoes are done, remove the bay leaf. Stir in the milk and gradually add the shredded cheddar cheese, stirring until fully melted and the chowder is smooth.
Season the chowder with salt and pepper to taste. If desired, garnish with chopped green onions before serving.
Serve hot and enjoy your cozy, homemade cheesy ham chowder!
