Heat the olive oil in a large skillet over medium high heat. Add the diced onions and cook until softened and translucent, which should take about 5 minutes. Stir in the chopped mushrooms and cook them down until they release all their moisture and the pan becomes dry again. This is a crucial step to ensure your pastry does not get soggy later on.
Add the minced garlic, thyme, and rosemary to the mushroom mixture, cooking for another minute until fragrant. Pour in the vegetable broth, apple cider vinegar, and soy sauce. Use a wooden spoon to scrape up any browned bits from the bottom of the pan. Continue to cook until all the liquid has evaporated and the mushrooms are deeply browned.
Stir in the fresh baby spinach and cook until just wilted. Remove the pan from the heat and fold in the crushed walnuts. Season the mixture with salt and pepper to taste. It is vital to let this filling cool completely before placing it on the pastry, so I recommend spreading it out on a plate and popping it in the fridge for 20 minutes.
Preheat your oven to 400 degrees Fahrenheit. On a piece of parchment paper, roll out your puff pastry sheet into a large rectangle. Spread the cooled mushroom mixture down the center of the pastry, leaving a 2 inch border on all sides. Fold the long sides of the pastry over the filling and tuck in the ends to create a neat log. Carefully flip the Wellington so the seam side is down.
Brush the entire surface of the pastry with the beaten egg wash. Use a sharp knife to gently score a crosshatch pattern on top, being careful not to cut all the way through to the filling. Transfer the parchment paper and Wellington to a baking sheet. Bake for 30 to 35 minutes, or until the pastry is puffed and a deep golden brown. Let it rest for 10 minutes before slicing.