Preheat your oven to 180°C (350°F). This ensures the oven is hot and ready when you need to bake the assembled dish.
Gather and prep all ingredients. Wash the spinach thoroughly, chop the onion and garlic, and grate the Parmesan cheese. If you’re making your own béchamel sauce, have the ingredients ready.
In a large pan, heat olive oil over medium heat. Add the chopped onion and garlic, cooking until softened and fragrant (about 3-4 minutes).
Gradually add the fresh spinach, stirring constantly. Season with a pinch of salt, pepper, and the grated nutmeg. Continue stirring until all the spinach wilts and most of the moisture evaporates (about 5-7 minutes). Remove the pan from the heat and set the spinach aside.
In a separate saucepan, melt butter over medium-low heat. Whisk in flour to form a roux, cooking for 1-2 minutes to remove the raw flour taste.
Slowly pour in warm milk, whisking continuously to avoid lumps. Continue stirring until the sauce thickens (about 5 minutes). Season with salt, pepper, and a pinch of nutmeg, then stir in the Parmesan for extra richness. Once done, set aside.
In a medium-sized oven-safe dish, spread the cooked spinach evenly across the bottom. Create small wells (indentations) in the spinach for the eggs.
Carefully crack an egg into each well, taking care not to break the yolks. Pour the béchamel sauce over the spinach and eggs, ensuring the sauce covers the spinach but doesn’t completely submerge the eggs. Sprinkle a little Parmesan on top for a golden finish.
Place the dish in the preheated oven and bake for 15-20 minutes, or until the eggs are just set but still slightly runny in the centre. If you prefer firmer eggs, leave it in for an additional 5 minutes.
Once baked to perfection, remove the dish from the oven and let it cool slightly before serving.