Add potatoes and broth and bring mixture to a boil. Reduce heat to medium-low, partially cover and cook until potatoes are fork-tender, about 10 minutes.
Puree 2 cups of potato mixture (mostly potatoes with a little broth) in a blender or food processor until smooth. Add the diced ham. Cook for another 10 minutes. Return puree to pot, add evaporated milk and cook 1 minute to heat through. Season to taste with salt and black pepper.
Ladle into bowls to serve and top with cheddar cheese and sour cream if desired.
Recipe by Recipes Food and Cooking at https://recipesfoodandcooking.com/2014/09/23/potato-leek-soup-ham/