Mix marinade ingredients in a baking pan that can hold 8 onion halves.
Rinse the onions, trim the ends and cut them in half, horizontally. Leave the skin on. Place them in the marinade with the cut side down. Marinate in the refrigerator for at least 4 hours, overnight if possible.
Preheat oven to 200°C. Turn the onions with the cut side up. Top each onion half with a slice of butter and some fresh thyme.
Roast for 1 hour or until golden brown. Baste 1-2 times during roasting. If they pop over, gently push them back with a spoon.
Remove from oven and peel the skin before serving. Top with fresh parsley or thyme.