Combine meat with marinade ingredients in a large, non-reactive bowl, stir to mix. Cover with plastic wrap and refrigerate for six hours or overnight.
Preheat the oven to 350F/175C. Strain the marinade into a large pot, reserving the liquid. Bring the liquid to a boil while you prepare brown the meat.
Remove the meat from the strainer to a plate. Dry with paper towels. Season with salt and pepper. Add oil to a large Dutch oven or 6 quart or larger pot over high heat. Brown the meat in batches and set aside. Lower heat, add the ham or bacon. Cook slowly until slightly browned. Remove half, set aside to add before serving.
Add the meat, the vegetables from the marinade and herbs to the pan with the bacon or ham. Sprinkle with flour and stir to coat. Add tomato paste and stir through until hot. Add the boiled wine and stock. Bring to a bubbling simmer, cover, and put into the oven for an hour and 20 minutes.
Carefully remove the pan from the oven. Add the garlic, sliced onions, mushrooms, carrots, tomatoes and potatoes and cook until the meat and vegetables are tender, about 45 minutes. Check seasonings, add salt and pepper if needed. Add the reserved bacon or ham, balsamic vinegar and parsley. Serves six to eight.