Preheat the oven to 400-degrees F.
Grease a 12-cup muffin pan with butter or cooking spray and set aside.
Combine the cream cheese and sour cream in the bowl of an electric mixer fitted with a paddle attachment.
Beat the mixture until creamy.
Add 1 egg (reserve 1 egg for later) and beat.
In a skillet, melt 1 tablespoon of butter and cook the onion for 2-3 minutes on medium heat until they begin to soften.
Add the chicken and brown until cooked through.
Add the garlic and cook 1-2 minutes more.
Remove the chicken and shred it.
Remove the bowl from the stand mixer and fold the chicken and onion mixture into the cream cheese mixture.
Next, add in the feta and cheddar cheeses.
After that, drain the baby spinach well and add it to the bowl.
Season with salt and pepper to taste.
Using a spoonula (see my favorite below), fold all the ingredients together until combined.
Remove the puff pastry from the refrigerator - it does not need to be thawed and should be kept cold.
Unroll the puff pastry and cut into nine even squares. Repeat with the second roll of puff pastry so you have 18 pieces of dough.
Add the puff pastry squares to the muffin pan, pressing the center down and allowing the corners to hang over a little. (This recipe makes 18 Spinach Puff Pastry Cups. If you don't have two muffin pans, place the extra pastry dough back in the fridge while the first tray bakes. Wait until the pan cools completely - this is very important - and then build your remaining 6 cups and bake them.)
Use a muffin scoop (see my favorite below) or tablespoon to evenly fill the dough cups with the spinach mixture.
Fold the four points onto the top of the filling and lightly press.
Beat the remaining egg with 1 tablespoon of water.
Use a pastry brush to lightly brush each of the spinach puff pastry cups with the egg wash.
Bake for 20-25 minutes until they are puffy and golden brown.
Allow to cool for 10 minutes before running a knife around the outside edge to loosen the puff pastry from the pan.
Serve warm or at room temperature.