01 - Preheat the oven to 375°F. Prepare four individual ramekins or a medium baking dish by greasing lightly with butter or cooking spray.
02 - In a saucepan, melt butter over medium heat. Whisk in flour and cook for 1 minute to form a roux. Slowly add milk, whisking constantly until sauce thickens. Stir in Gruyère cheese, a pinch of nutmeg, salt, and pepper. Remove from heat once smooth and creamy.
03 - Heat a skillet over medium-high heat. Briefly sauté spinach until just wilted, about 2-3 minutes. Remove and set aside.
04 - Place a slice of puff pastry or toasted brioche in the bottom of each ramekin. Layer with sautéed spinach, zucchini slices, tomato, and ham (or mushrooms for vegetarian version).
05 - Spoon prepared cheese sauce evenly over the layered vegetables and ham in each ramekin.
06 - Make a shallow well in the center of each ramekin. Crack an egg into each well. Season eggs lightly with salt and pepper.
07 - Bake for 20-25 minutes until eggs are just set but yolks remain runny. Adjust cooking time by 2-3 minutes longer for firmer yolks if preferred.
08 - Remove from oven and garnish with fresh chopped chives or parsley. Serve immediately while hot.