Put the beef in a bowl with the garlic, bay leaves, juniper berries and thyme. Pour in the wine, then cover and leave to marinate in the refrigerator for 8 hours or overnight, if time permits.
The next day, preheat the oven to 160 degrees C. Put the onions in a bowl and pour over enough boiling water to cover. Leave for 2 minutes, then drain. When cool enough to handle, peel off the skins. Set the onions aside.
Remove the beef from the marinade and pat dry on paper towels, reserving the marinade. Heat the oil in a large flameproof casserole dish over a medium-high heat. Add the beef and brown on all sides. Do this in batches, if necessary, so the pan is not overcrowded. Remove the beef and set aside on a plate.
Add the onions to the casserole dish and cook gently for 3–4 minutes or until lightly coloured all over. Add the barley and cook for 1 minute, stirring, then return the beef and any juices to the dish. Pour in the stock and bring to a simmer.
Strain the reserved marinade into the casserole dish, then add the bay leaves and sprig of thyme. Season with salt and pepper to taste. Cover with a tight-fitting lid, transfer to the oven and braise for 45 minutes.
Add the carrots, celery and swede and stir to mix. Cover again and braise for a further 1–1 1/4 hours or until the beef, barley and vegetables are tender. Remove the bay leaves and thyme before serving.