Whether as a leftover meal or a comforting dinner, ham and potato soup is always a good idea.
Melt the butter in a large saucepan over medium-high heat. Stir in the onion, carrots, celery, garlic, and salt. Cook for 5 minutes or until beginning to soften, stirring often.
Sprinkle the flour over the onion mixture and stir to coat. Cook, stirring constantly, for 1 minute. Do not let the flour brown.
Stir in the chicken stock, and bring to a simmer, stirring often.
Add the potatoes, thyme, and bay leaf.
Simmer for 15 to 20 minutes or until the potatoes are very tender. Discard the bay leaf.
Using an immersion blender or hand-held potato masher, crush at least half of the potatoes to thicken the soup.
Stir in the ham and half-and-half, and cook until warmed through. Season with black pepper and cayenne, and taste for salt, adding more if desired.
Serve warm, garnished with thyme leaves.