Soften and prep: Set the puff pastry on a lightly floured surface to loosen while you prepare the filling. Keep it cool, not warm or sticky.
Cook the aromatics: Warm olive oil in a skillet over medium heat. Add the shallot and cook 2–3 minutes until translucent. Stir in garlic and cook 30 seconds until fragrant.
Wilt the spinach: Add fresh spinach, salt, pepper, and red pepper flakes. Cook until wilted and most liquid evaporates, 2–4 minutes. If using frozen spinach, stir it in and cook off excess moisture.
Cool the mixture: Transfer spinach mixture to a bowl and let it cool for a few minutes so it doesn’t melt the cheeses.
Make the filling: Add feta, cream cheese, lemon zest, and lemon juice. Mix until creamy with some feta texture left. Taste and adjust salt and pepper.
Roll the pastry: Gently roll the puff pastry into a rectangle about 10x12 inches. Keep the edges even for cleaner pinwheels.
Spread the filling: Evenly spread the spinach-feta mixture over the pastry, leaving a 1/2-inch border on one long edge.
Roll it up: Starting from the opposite long edge, roll the pastry into a tight log. Brush the bare edge with a little beaten egg and seal. Place the log seam-side down.
Chill for clean cuts: Transfer the log to the fridge or freezer for 10–15 minutes. This firms it up for neater slices.
Slice: Using a sharp serrated knife, cut 1/2-inch to 3/4-inch rounds. You should get about 12–16 pinwheels.
Preheat the air fryer: Heat to 375°F (190°C) for 3–5 minutes. Lightly oil or spray the basket to prevent sticking.
Arrange and brush: Place pinwheels in the basket with space between them. Brush tops with egg wash. Sprinkle Parmesan or seeds if using.
Air fry: Cook 7–10 minutes, until puffed and deep golden. Check at 6 minutes—every air fryer runs a bit different.
Flip if needed: If the bottoms need more color, flip and cook 1–2 minutes more. Work in batches to avoid crowding.
Serve: Let rest 2–3 minutes so the filling sets slightly. Serve warm with a squeeze of lemon or a yogurt-dill dip.