To begin, rinse the pearl barley thoroughly under cold running water until the water runs clear. This removes excess starch and helps prevent gumminess during cooking.
Place the rinsed barley in a large saucepan with 600ml of water. Bring it to a gentle boil over medium heat, then reduce to a simmer. Cover the pot loosely and cook for 25 minutes, or until the barley is tender but not mushy.
While the barley cooks, peel and dice the potatoes into small cubes, roughly the same size to ensure even cooking. Set them aside in cold water to prevent discolouration.
In a frying pan, melt the butter over low heat and sauté the finely chopped onion until soft and golden, about 5 to 7 minutes. Stir frequently to avoid browning too much, which could overpower the delicate flavours.
Once the barley is partially cooked, add the diced potatoes to the saucepan. Stir gently and continue to simmer, uncovered, for another 15 minutes or until the potatoes are fork tender and beginning to break down slightly.
Pour in the whole milk and stir well to combine. Let the mixture simmer gently for another 5 minutes, allowing the milk to enrich the porridge and thicken slightly. Stir occasionally to prevent sticking at the bottom.
Add the sautéed onions to the pot along with salt and a generous pinch of black pepper. Stir thoroughly to combine the flavours. Taste and adjust seasoning as needed.
Continue cooking the porridge over low heat for a final 3 to 5 minutes, stirring frequently to achieve a creamy, cohesive texture. The potatoes should be soft enough to partially mash into the barley.
Remove from heat and let rest for a couple of minutes before serving. Spoon into shallow bowls and top with a dollop of sour cream and a scattering of chopped dill or chives if desired. Serve warm, accompanied by smoked meat or rye bread for a more filling meal.