Preheat your oven to 200 C (400 F), get out a casserole or baking pan and lightly grease with butter. (I used a smaller amount of potatoes so I used my 5x7 baking dish.)
Thinly slice the potatoes into 1/8 inch thick slices, a mandolin would be the best item to use for this, it is faster than using a knife and will provide uniform slices.
After the potatoes, slice the onion as thin as possible as well, again, a mandolin works great with the onions, separate the onions into rings as well. (I know, crappy photo.)
Once the potatoes and onions sliced, make little stacks, starting with a potato slice, couple of onion ring slices, another potato, and so on until the stack is 2 inches high or so, ending with a potato slice on top. Do this for all the slices.
Now take the stacks and place them in the baking dish on one side of the stack. Instead of layering them, the edges of the potatoes will be facing upwards.
Before you start making the sauce, have the milk, cheese, and other ingredients ready for use, the sauce comes together quickly.
Melt the butter in a saucepan then whisk in the flour and cook this for 2-3 minutes, then whisk in the the mustard, salt and pepper to your liking, and the milk. Whisk continuously until this thickens and is bubbly. Remove from heat and stir in the shredded cheeses until full melted in. (This photo is after I spooned it over the potatoes.)
Pour or spoon the cheese sauce over the potatoes, covering the dish evenly. Cover with foil. If the edges of potatoes may touch the foil, lightly grease the foil with butter (not the edges of foil) and then cover with the foil, greased side down.
Bake this for 1 hour, then remove the foil and bake for another 20-30 minutes, or until the top is golden brown and the potatoes are cooked through.
Serve with a main dish of your choice.