Add butter to a large stock pot over medium-high heat. Once melted add garlic, onion, carrots and celery. Let saute for 3 minutes and add salt, pepper, thyme and paprika. Whisk in one tablespoon flour and let cook for 1 minute. then whisk in two cups of broth and let cook for 1 minute. Repeat process of adding flour and broth until all of the flour has been added.
Gently add in diced potatoes and then remaining chicken broth. Reduce heat to medium and cover pot. Let cook for 30 minutes, stirring occasionally.
Remove about a third of the soup to a bowl. Blitz until smooth with an immersion blender. Add heavy cream and blitz until fully incorporated. Return to pot and stir to combine. Stir in half of diced ham. Cover with lid and let cook another 5 minutes.
Serve soup with a portion of ham on top.
Keyword caramelized onions, carrots, celery, creamy soup, Garlic, Ham, heavy cream, potato soup, roux