Melt butter in a small saucepan over medium heat. Whisk in flour for about 30 seconds, or until completely melted and smooth.
Slowly whisk in warm milk until completely combined. Bring liquid to a very quick boil, then turn down to medium-low heat and let it simmer for about five minutes.
Grate in gruyere and stir until melted completely. Repeat with parmesan (note! using real parmesan and grating it in makes a big difference in flavor - it's worth it!)
Whisk in all spices and let everything combine for about 2-3 minutes. This sauce should be thick, cheesy, and gooey. Always feel free to adjust the spice level to your prefence!
For ham and cheese bake
Turn oven to 425 degrees.
Cube french bread into about 1" cubes. Pack the bottom of a small, individual-sized oven-safe dish with these cubes. (Don't overstuff them, but this should fill two small dishes).
Spoon about 1/4 cup of cheese sauce over the bread, then top with the shaved ham (distribute this evenly).
Top the ham with one slice of provolone cheese per dish, and drizzle each with the remaining cheese sauce before popping in the oven for 10 minutes at 425 degrees.
Be careful when eating - but serve hot!
Notes
I know I already said this, but the quality of cheeses for this recipe make a big difference! Always feel free to adjust the spices according to your own personal preferences. I prefer the smoky ham flavors for this, but you can use any version you please. When my parents and I had this, we used honey ham and it was also delicious! Be super careful when eating - you'll eat this straight out of the dish from the oven, so set it on another plate and be mindful! We had no problem with this.