In a large pan over medium-low heat, add the onions and ½ a cup of water. Once the water has evaporated, add 1 tablespoon of olive oil and ½ a teaspoon of salt. Stir frequently, until carmelized, about 15 minutes.
Stir in the sage and transfer the onions to a bowl.
Add the remaining butter to the pan, along with the spinach. Cook, stirring occasionally, until it wilts. Add the garlic and cook for 30 seconds, until fragrant.
Remove from heat and set aside.
Preheat the oven to 450°F. Line a roasting pan or baking sheet with aluminum foil and spray it with nonstick spray.
Place the pork tenderloin on a cutting board and use a sharp knife to slice it open like a book.
Here is a tutorial to watch: https://www.youtube.com/watch?v=ccsQFIoMCgA
Season the inside with salt and pepper.
Spread cranberry sauce on the pork. Add the spinach on top of the cranberry sauce, followed by the caramelized onions. Spread the goat cheese on top of that.
Tightly roll up the tenderloin. Tie it evenly with kitchen twine to hold it tightly together.
Season the whole tenderloin with salt and pepper.
Place the pork on the prepared roasting pan or baking sheet. Roast for 30 to 35 minutes, or until the internal temperature reads 135-145°F, depending on your preference.
Remove from the oven and let rest for 10 minutes before slicing.