Remove the puff pastry from the freezer and let it thaw at room temperature for about 30 minutes, while you prepare the rest of the ingredients. Preheat the oven to 375° F (190° C).
Peal and cut the potatoes into thin slices, about 1/10 of an inch (2 mm) in thickness.
Layer the potato slices on a baking sheet, covered with parchment paper (it will make it easier to clean the pan and to remove the potatoes without scratching the pan).
Drizzle with one tablespoon of olive oil, salt to taste and sprinkle with chopped, fresh rosemary.
Bake the potatoes for about 20 minutes until mostly tender. You will bake them a little more later.
In a large frying pan, sauté the sliced onion in one tablespoon of olive oil. Cook over medium-high flame for about three minutes, until golden and tender.
Add the baby spinach, and salt to taste. Let cook for a couple of minutes, until the spinach wilt down.
Unwrap the dough, and place it on a baking sheet lined with parchment paper. Fold up a little bit of the edge all around, maybe about 1/5 of an inch (5 mm). Spread the spinach/onion mixture evenly over the dough, leaving out the edge. Sprinkle the top with the shredded mozzarella and provolone cheese, or your favorite cheese.
Layer the potatoes on top. You can make a nice ordered layer like I did, or not! Careful not to burn your fingers, if the potatoes are still hot.
Sprinkle the top with freshly grated parmesan cheese, and a few slivers of butter.
Brush the edges of the dough with milk (or a beaten egg).
Bake in the oven at 375° F (190° C) for about 20 minutes, until golden and crispy.
Serve hot or at room temperature.