Some say it's grilled cheese on a whole other level: this traditional French sandwich is made with lots of melty gruyere, a creamy bechamel sauce, and a fried egg. Make it traditionally with ham or caramelized onions for a vegetarian-friendly version!
Heat a large skillet over medium heat. Add olive oil and once it's hot, add the onions and stir to coat. Cook for about 15 minutes, only stirring very occasionally. Be careful to not have the heat too high, you want the onions to slowly brown. If needed, add 1 TBSP water or vegetable stock to moisten the pan. Continue cooking for 10-15 minutes (again, only stirring occasionally) as onions brown. With 5-8 minutes remaining in the cooking time, add garlic.
Bechamel Sauce
Meanwhile, in a small saucepan, heat milk over low-medium heat. In a separate skillet, melt 2 tablespoons of butter, and when it begins to foam slightly, stir in the flour until thick. This is your roux. Keep stirring to cook out the raw flour and ensure it doesn't burn.
Slowly whisk/stir in the warmed milk until combined. Add a pinch of salt and pepper (to taste), nutmeg, and garlic powder. Continue to stir while it cooks for 2-3 more minutes, as it thickens. Remove from heat and set aside.
Sandwich Assembly
In preparation, turn the broiler on high (about 500-525°F) and have a baking sheet nearby. Combine the shredded cheeses in a bowl.
Spread a thin layer of dijon mustard across one side of each slice of bread and set aside. Heat a large skillet over medium-high heat and add 1-2 tablespoons of butter. Depending on the size of your pan, if you can only cook one sandwich at a time, then start with 1 tablespoon of butter, reserving the second for the next sandwich.
Once the butter is melted, place one bread slice down into the butter -mustard side up. Layer on a bit of gruyere and parmesan to cover the bread, then add your filling (ham or caramelized onions - or both!), and another layer of cheese. I use about 1/3 - 1/2 cup total for the inside of the sandwich. Place the other slice of bread, mustard side down, on top of the filling. Let the sandwich cook until the first side is golden brown and the cheese is beginning to melt.
To flip the sandwich, raise the sandwich up with a spatula, add another tablespoon of butter to the skillet to melt. Flip the sandwich over into the melted butter, and cook again until the second side is golden brown and cheese is melted.
Transfer the cooked sandwich(es) onto the baking sheet. If you were only to cook one sandwich at a time, cook the second now.
Once both "grilled sandwiches" are made and on baking sheets, spread bechamel sauce over the top of the sandwich. The exact amount will vary on your bread size - probably about 1/4 cup for a regular slice of bread. Top each sandwich with the remaining cheese mixture (~1/3-1/2 cup), then place the pan under the broiler for 3-5 minutes, watching carefully, until the tops are golden brown with melty cheese.
Meanwhile, heat the skillet again to medium heat. Add a bit of additional butter or oil of choice. Once hot, add the eggs and fry them for 2-3 minutes until the whites are set but the yolk is still runny (or to your preferred doneness).
When the sandwiches have been removed from the broiler, top them with the fried egg and serve immediately. Fork and knife are recommended. Enjoy!
Notes
The mustard and cheese measurements are approximations because you should create the sandwich that YOU love. The size of your bread slice also plays a HUGE role. I photographed these on massive slices of French bread, and therefore used more cheese! Trust your gut.
You'll likely have extra bechamel. Store it in an airtight container with a piece of parchment or waxed paper against the top to prevent a film from forming. Use within 3-ish days with another sandwich or in a pasta sauce.
*Look for cheese specifically labeled vegetarian, if needed.