Melt butter in a large Dutch oven or soup pot, over medium heat. Add the leeks and cook until the leeks are tender, approximately 10 minutes, stirring occasionally.
Add the garlic, and sauté for 30 seconds. Add potatoes, broth, bay leaves, thyme, salt, and black pepper, and bring to a boil. Reduce the heat to low, cover, and gently simmer until the potatoes are soft, approximately 20-25 minutes.
Meanwhile, heat olive oil in a small pan, over medium-high heat. Add the ham and lightly sauté until golden brown, approximately 5 minutes. Set aside.
Turn off the heat from the soup and remove the thyme sprig and bay leaves. Puree the mixture with an immersion blender until smooth (or use a blender to purée the soup in batches). Stir in the heavy cream. Season to taste, if desired. Sprinkle with ham and chives; serve immediately. Enjoy!