Place onion, garlic, bay leaves, red wine, and port in a large saucepan, bring to the boil over high heat, then remove from heat and set aside to cool completely. Once cool, place beef into a large bowl, the pour in marinade to cover. Refrigerate overnight or up to 24 hours to marinate.
Preheat oven to 250C.
Heat 1 tablespoon olive oil in a large frying pan over medium-high heat. Cook bones for about 10 minutes until caramelised, turning occasionally. Season with salt.⏱ 10 min
Meanwhile, drain beef brisket from marinade and pat dry well with paper towel, reserving vegetables and liquor.
Heat remaining 50ml oil in a large, heavy-based saucepan set over high heat. Sear brisket on all sides until caramelised. Add reserved vegetables from the marinade, and remove brisket. Set aside. Add bones to dish, followed by the marinade. Bring to the boil and reduce by half. Return brisket to pan with stock, and bring to the boil. Cover with a lid, then place in oven. Immediately reduce temperature to 160C. Cook for 1.5-2 hours, depending on thickness of beef, until tender. Season carefully as flavour will develop throughout the cooking process.
Meanwhile, for the vegetables, heat oil in a large frying pan over medium-high heat. Add carrots, kaiserfleisch and celeriac and lightly season with salt and pepper. Reduce heat to medium, and cook for about 6-8 minutes until golden and caramelised, stirring often. Add thyme and bay leaves and cook for a further 5 minutes. Reduce heat to low, then add garlic and butter. Continue cook for a further 15 minutes or until vegetables are tender, basting occasionally.⏱ 15 min
Remove pan from oven. Carefully remove brisket and bones from pan. Strain sauce through a fine sieve lined with a muslin or chux cloth into a clean pan, and gently warm through.
To serve, carve beef lengthwise, across the grain into thick slices and arrange in a serving platter with vegetables. Garnish with parsley leaves and serve with jus.