Unroll beef and wipe with a clean cloth or paper towel.
Finely chop one of the onions and sprinkle over beef. Cover with bacon rashers trimmed of fat, and re-roll beef. Tie or skewer securely.
Chop garlic finely and place in a bowl with vinegar, and salt and pepper to taste. Stand beef in bowl for 5 minutes, turn beef and stand a further five minutes. Drain remaining marinade and reserve.
Heat 1 tablespoon olive oil in a griddle, and sear beef on all sides until browned.
Place beef in a baking dish with the extra tablespoon of olive oil, cover and cook in a hot oven (450 degree F) for 15 minutes.
Remove from oven and pour red wine and reserved marinade over meat.
Return to oven, reduce heat to 400 degrees, cover loosely with foil and cook for 1 1/4 hours, basting several times.
Cut remaining two onions in half and place with tomatoes around joint, and bake uncovered for a further 30 minutes. Add a splash of water to pan if necessary.
Beef should be moist and tender with a rich brown gravy.
Serve with roasted vegetables.