In a large pot, melt the butter over medium heat. Add the diced onion and sauté until translucent, about 5 minutes. Stir in the minced garlic and cook for an additional minute until fragrant.
Add the diced potatoes, cooked ham, frozen corn, chicken broth, thyme, and black pepper to the pot. Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for about 20-25 minutes, or until the potatoes are tender.
Once the potatoes are cooked, use a potato masher to mash some of the potatoes in the pot for a thicker texture, leaving some chunks for heartiness.
Stir in the heavy cream and heat through for another 5 minutes. Taste and adjust seasoning with salt as needed.
Serve hot, garnished with chopped fresh parsley if desired.