01 - Preheat oven to 400°F. Line a baking sheet with parchment paper and set aside.
02 - Cut puff pastry into 8 squares (about 3x3 inches each). Place on prepared baking sheet, prick each square with a fork, and bake for 10-12 minutes until golden and puffed. Allow to cool briefly.
03 - Heat olive oil in a skillet over medium heat. Sauté shallot and garlic until fragrant, about 2 minutes. Add spinach and cook until wilted. Season with salt, pepper, and nutmeg. Remove from heat.
04 - Reduce oven temperature to 350°F.
05 - Arrange 4 pastry squares on a baking dish. Layer each with ham slice, spinach mixture, and Gruyère cheese. Top with remaining pastry squares to form stacks.
06 - Using the back of a spoon, create an indentation in the center of each top pastry square. Crack an egg into each well.
07 - Bake for 10-12 minutes until whites are set but yolks remain runny, or until reaching desired doneness.
08 - While eggs bake, whisk egg yolks and lemon juice in a heatproof bowl over simmering water. Slowly drizzle in melted butter while whisking continuously until thickened. Season with salt and cayenne pepper.
09 - Drizzle warm hollandaise sauce over each Napoleon and serve immediately.