Heat the olive oil in a large, heavy-bottomed pot over medium-high heat. Add the potatoes and leeks and season with salt and pepper.
Cook, stirring occasionally until the leeks are bright green and have begun to sweat, 5 to 8 minutes. Add the stock and bring to a simmer and then cover. Simmer for 20 minutes and then add the chopped swiss chard stems. Simmer for a further 10 minutes until the stems have softened and the liquid has reduced a bit and the potatoes are basically falling apart. Stir through the chopped swiss chard leaves.
Mash the soup with a potato masher to break up the potatoes and then serve with the dill.