Preheat the oven to 350ºF (176ºC).
Heat olive oil in a saute pan, and saute the onions until they soften, add salt and pepper.
Add the balsamic vinegar and cook for a few more minutes, remove from the heat and set aside.
In another pan melt the butter, add the garlic and saute until fragrant, then add the mushrooms.
Cook the mushrooms until most of the liquid has cooked off, remove from the heat.
Place the onions in a large bowl, add the kale, cranberries, spoon in the mushrooms allowing any liquid to drain out.
Add the breadcrumbs and the apple cider vinegar and stir very well until all ingredients are combined.
Allow the filling to cool completely to room temperature.
Roll out a sheet of puff pastry on a parchment paper lined baking tray, spoon the cooled filling in the middle of the puff pastry.
Wrap the pastry around filling and pinch edges to seal, then flip over so the seam is on the bottom.
Whisk the egg in a small bowl, brush the top and sides of the Mushroom Wellington with the egg wash.
Place the Wellington into the oven and bake until golden brown, 25 to 30 minutes.
Allow to sit for five minutes before cutting and serving.