Gather all ingredients. Preheat oven to 375F. Dice onions and mushrooms into small bite-sized pieces.
Heat a pan over medium heat to melt half the butter, then add the minced garlic. Fry for a couple of minutes, then add the onion.
Saute onions until they are translucent, then add the diced mushrooms to the pan.
Cook down for approximately 20 minutes, until well caramelized and browned.
Add cream cheese and mix with the vegetables until melted.
Add all of the cheeses to the pan and allow to melt, while combining it with the other ingredients in the pan.
Once the cheese has melted, add the spinach and allow this to wilt. Combine everything well. Once done, remove from heat and allow to cool briefly.
Ensure you have already prepared your beef, if you need to. Lay your prosciutto (or bacon) flat on a chopping board, overlapping itself slightly, and place the beef schnitzel over the top.
Evenly spread your stuffing mixture onto the beef, so it covers the schnitzel. Leave the edges free to prevent stuffing from spilling over the edges.
Roll your stuffed beef up, using the bacon or prosciutto. If you need to, secure with toothpicks.
Melt remaining butter in a pan over medium heat and place your beef roll in the pan to brown. Keep turning until evenly browned, then remove and place in your preheated oven.
Cook for approximately 15-20 minutes until beef has cooked through.