01 - Preheat the oven to 375°F. Lightly grease four individual ramekins or one medium baking dish with butter or cooking spray.
02 - Melt butter in a saucepan over medium heat. Whisk in flour and cook for 1 minute to form a roux. Gradually whisk in milk, stirring constantly until sauce thickens. Remove from heat, stir in Gruyère cheese, nutmeg, salt, and pepper until smooth.
03 - Heat a skillet over medium-high heat. Add spinach and sauté briefly until just wilted, about 2 minutes. Remove from heat and set aside.
04 - Place one 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 - Create a shallow well in the center of each ramekin. Crack one egg into each well. Season eggs lightly with salt and pepper.
07 - Bake for 20–25 minutes until egg whites are set but yolks remain runny. Adjust cooking time 2–3 minutes longer for firmer yolks.
08 - Remove from oven and sprinkle with fresh chives or parsley. Serve immediately while hot.