Get your butcher to cut the ham hock in half for easier flavor extraction. Slideshow: More Warming Soup Recipes
In a large heavy pot, heat the butter over medium heat until hot, then brown the ham hock, turning occasionally, about 6 minutes.
Stir the onions, garlic, 3/4 teaspoon salt, and 1/2 teaspoon pepper and cook, stirring occasionally, until golden, 8 to 10 minutes. Peel and dice the potatoes. Stir in the potatoes and stock bring to a gentle boil. Cook the soup, stirring occasionally, until the potatoes are very soft and starting to fall apart, 45 minutes to 1 hour. Remove the ham hock and let cool slightly. Remove the meat from the ham hock and cut into pieces, the return the meat to the soup. Season the soup with salt and pepper to taste and serve.