adapted from The Joy of Cooking
In a soup pot over medium low heat, drizzle the oil and add the leeks. Cook the leeks until tender, but not browned. This should take between 15-20 minutes.
Add the potatoes, garlic, and chicken broth. Increase heat and bring to a boil. Cover, reduce the heat, and simmer until the potatoes are soft, about 20 minutes.
Puree the soup until smooth using an immersion blender or puree in batches in a blender. Season to taste with salt and pepper. Stir in the milk and ham, and heat over low heat until the ham is heated through.
Serve with crusty bread.