Heat olive oil or butter in a large pot over medium heat and sauté diced onion until softened, about 5 minutes.
Add minced garlic and cook for 1 minute until fragrant, then add chicken broth, diced potatoes, thyme, bay leaf, and black pepper.
Bring soup to a boil, then reduce heat and simmer for 15-20 minutes until potatoes are tender and beginning to break down.
Stir in diced ham and frozen or fresh kale, and cook for another 5-7 minutes until kale is tender and ham is heated through.
Remove bay leaf, taste and adjust seasoning with salt and pepper, then serve hot with crusty bread if available.