Preheat your oven to 180˚C/350˚F
Combine the milk, double cream, onion, garlic, and bay leaf in a small saucepan over a medium heat - warm until almost boiling.
Remove from the heat and allow 10mins for flavours to meld, then strain into a jug to remove solids.
Over medium heat, melt the butter, then add the flour and blend. Cook over the heat for 2-3mins, or until the mix looks like dry sand.
Slowly, pour in the milk in batches, stirring thoroughly each time to ensure you don’t get lumps! A whisk can be helpful at this point.
Slowly increase the heat, and bring the mixture to the boil (this cooks out the flour, so you don’t get a ‘raw’ taste).
Again, remove from the heat, and add in the Dijon, stir throughly again.
Brush the sliced bread on one side with the melted butter, and grill until golden brown, about 5mins.
On the non-toasted side, spread thinly with Dijon mustard, and then a smear of béchamel, then top with 3 slices of ham and ⅓ of the grated cheese.
Top with the other slice of half-toasted bread, adding more béchamel and cheese on the top (divide the cheese as ⅓ per sandwich, and ⅓ shared between the two sandwiches as the final topping).
Place in the oven, and bake for up to 15 minutes, so that the cheese is bubbly and melted.