Wash the chicken thoroughly and pat it completely dry so the marinade sticks well.
Preheat the oven to 190°C.
In a bowl, mix softened butter with all the spices and olive oil. Gently stuff some of the marinade under the skin of the chicken to season it from the inside, then spread the rest over the outside. Squeeze half a lemon over the top.
Place the chicken in a baking dish. Slice the red onion thinly and arrange it around the chicken, adding a few slices inside as well. Peel 3–4 garlic cloves, tucking some under the skin and leaving the rest around the chicken to release flavor.
Cover with foil and place in the oven. For the first hour, baste the chicken every 20 minutes to keep it juicy.
After one hour, baste once more, remove the foil, and return the chicken to the oven uncovered for about 30 minutes, until the skin turns golden and crispy.
Remove from the oven, let it rest briefly, then serve. This roast chicken is perfect with potatoes, Yorkshire pudding, veggies, and plenty of gravy.