To a Crockpot, add the potatoes and onions, ham hocks, broth, garlic powder, salt, and black pepper. Stir until combined.
Cover and cook on low 6-7 hours or high 3-4 hours, or until the potatoes are fork tender. Crockpot time and temperature can vary, so adjust according to your make and model. For optimal ham hock tenderness, cook on low. If cooking on high, consider checking the potatoes tenderness at 2 hours to determine if you’ll need 1 or 2 more hours.
Transfer the ham hocks to a plate. Once they’re cool enough to handle, remove the meat and chop. Discard the fat and ham bone.
Plunge a potato masher into the crockpot 15-20 times, or until half of the potatoes are mashed.
Stir the ham and evaporated milk into the soup.
Add milk to desired texture. Taste and adjust seasonings as desired.
Ladle soup in bowls and serve with garnishes on the side.