Make the marinade: Put the onions, carrots and celery into a medium size pot and cover with water. Bring to a boil and simmer for 5 minutes. Add the remaining marinade ingredients and simmer for 5 minutes. Cover and let cool.
Make the sauerbraten: Put the beef in another pot into which it just fits. Pour over the marinade, cover, and marinate in the refrigerator overnight or up to 3 days, turning the beef daily. Remove the beef from the marinade and dry thoroughly; set aside. Strain the marinade, reserving the liquid.
Rinse the pot in which the beef was marinated and use it to cook the bacon in olive oil over medium heat, stirring occasionally, until browned but not crisp, 6-8 minutes. Using a slotted spoon, transfer to a paper towel-lined plate and set aside. Do not wipe out the pot.
Season the beef with salt and pepper and brown well on each side, adjusting the heat as necessary, about 2 minutes per side. Remove the beef and set aside. Add the sliced onions to the pot, season with a pinch of salt and pepper and cook until they begin to soften, 5-6 minutes. Return the bacon to the pot. Add the wine to deglaze the pot, stirring with a wooden spatula to dissolve any browned bits on the bottom of the pot. Raise the heat to medium high and boil to reduce by half, 5-7 minutes. Return the beef to the pot, pour over the marinade liquid, add 1 cup of water and slowly bring to a boil. Cover, then simmer over low heat for 1½ - 2 hours, or until the beef is very tender. Remove the beef and keep warm. In a small cup, blend the arrowroot starch with 2 tablespoons cold water, add to the cooking liquid, and stir until thickened to a gravy. Do not boil.
Make the cabbage: In a large sauté pan, heat olive oil over medium-high heat. Add the onions and cook for 5-6 minutes or until translucent. Add the cabbage, carrots, garlic, caraway seeds, a large pinch of salt and pepper, and ⅓ cup water and cook for 10-15 minutes, stirring occasionally, until the cabbage is tender and begins to brown. Add the spinach and cook until wilted, about 2 more minutes. Remove from heat and stir in the vinegar and honey, if using. Adjust the seasonings, as needed.
Thinly slice the beef, spoon about 2-3 tablespoons of the cabbage filling into the middle of each piece of meat, roll up and secure with a cocktail skewer. Serve with the gravy. Garnish with parsley.