Arrange potatoes, eggs, onion and bacon in layers in a baking dish, finishing with potatoes.
Melt butter in a pan. Add flour and cook for 1 minute. Remove from heat and stir in the milk and stock, whisking so it is smooth. Place back on the heat and bring to the boil, stirring constantly. Boil for 1 minute and remove from heat. Add the seasoning and 1/2 the grated cheese and stir to combine.
Pour sauce over the potatoes in the baking dish.
Mix remaining cheese and breadcrumbs. Sprinkle over the top. Bake in a preheated 200 C oven for 30 minutes until top is golden and bubbly.