Melt the butter in a saucepan over medium heat; cook and stir the onion until lightly browned, about 10 minutes. Add potatoes, water, dill, salt and pepper; bring to the boil. Reduce heat and simmer until potatoes are tender and water is almost all evaporated, at least 30 minutes.
Stir milk and bacon into potato mixture; bring to the boil. Remove from heat and stir parsley into soup.