Remove and discard green tops from leeks. Cut white portion of leeks into thin slices.
Melt butter in a Dutch oven over medium-high heat; add leeks and onion, and saute 5 minutes or until tender. Stir in potato, broth, and salt; bring to a boil. Cover, reduce heat, and simmer 35 to 40 minutes. Cool slightly.
Process, in batches, in a food processor or blender until smooth. Return to Dutch oven; stir in milk and half-and-half. Cook over medium heat, stirring often, until thoroughly heated. (Do not boil.) Garnish, if desired.