Melt the butter in a soup pot or Dutch oven on medium heat. Add the onions and stir until translucent, about 5 minutes.
Add the potatoes (diced into 1 inch cubes), stir into the onions. Cover and cook on medium heat for about 10 minutes. Stir the potatoes an onions a few times to cook evenly and to prevent the ones on the bottom from browning.
Add the stock, salt and pepper.
Simmer for about 30 minutes uncovered on medium heat. Check a potato chunk after 30 minutes with a fork for softness, then it is done.
Using an immersion blender, break down the solids as much as possible. Add salt and pepper to taste.
Serve hot, sprinkled with bacon, and parsley. Cheddar cheese goes nicely also.