- 150ml whole milk
- ¼ onion
- 4 black peppercorns
- 1 bay leaf
- 20g unsalted butter, plus a knob extra
- 20g plain flour
- Olive oil for frying
- 4 thin slices sourdough bread
- 160g gruyère, comté or a mix, grated
- 4 slices thick-cut ham
- 2 large free-range eggs
- Gently heat the milk, onion, peppercorns and bay leaf in a pan. When the milk starts to simmer, turn off the heat and leave for 5 minutes. Strain the milk into a jug and set aside.
- Clean the pan, then melt the 20g butter over a low heat. Stir in the flour to form a paste, then cook for 3-4 minutes until it bubbles. Off the heat, whisk in the milk, bit by bit, to make a smooth silky sauce.
- Return the pan to a medium heat, whisking until the sauce thickens, then use a wooden spoon to stir until bubbling and very thick. Season and set aside.
- Set the grill to high. Heat a knob of butter and a splash of oil in a large frying pan. Fry the sourdough slices, two at a time, for 2-3 minutes on each side until golden.
- Divide 100g cheese between 2 of the slices of toast and layer up with the ham. Top with the rest of the toast. Spread the béchamel thickly onto each sandwich, sprinkle over the remaining cheese, then put onto a baking tray or grill pan. Grill for 8-10 minutes until melted and golden.
- Meanwhile, heat a splash of oil in a pan. Crack in 2 eggs and fry for 2-3 minutes until the white is set and crisp at the edge. Serve the fried egg on top of the sandwich.