Add the oil and butter to a large pan and warm on a low heat until the butter is melted
Add the sliced leeks and diced onion to the pan, and cook them for 5-8 minutes until soft
In a mixing bowl, measure out the flour. Add some of the milk slowly, whisking as you add it. Stop when you have a smooth paste
Add the paste to the pan, then add the rest of the milk and mix together
Add the water, stock cubes and diced potato. Bring the mixture to a simmer and let it bubble for 15-20 minutes, until the potato pieces are soft. Make sure to stir it often so it doesn't catch on the bottom of the pan
When it is done, turn the heat off and stir in the cheese. It will melt into the soup
Then add salt to taste. I like to add 2 tsp, but you may like less depending on your preference or the strength of the cheese
Serve immediately, or allow to cool fully and store in the fridge in an airtight container for up to 3 days. You can also freeze this soup