In a large saucepan, over medium heat, add butter, onion and leeks. Cook, stirring frequently, until soft and golden, about 10 minutes.
Add milk, potatoes and bay leaf to the saucepan. Turn heat to medium low and bring milk to a low simmer. Cook until potatoes are tender, about 15 to 20 minutes. Stir frequently to prevent milk from scorching.
Discard bay leaf and, use a potato masher to break up the potatoes. You want a combination of larger and smaller potato pieces, so the sauce is thickened but there are still some chunks of potato in the soup.
Add the smoked haddock, and cook until just starting to flake, 5 to 10 minutes.
Serve hot, topped with minced chives and toasted sourdough bread for dipping.