2 hrs before you want to roast your turkey, take it out of the fridge and let it stand somewhere safe so it can come to room temperature. Take the giblets out of the turkey. Rinse them. Pop them in a pan. Peel and halve the onion. Rinse and chop the carrot and celery. Add them to the giblets with the bouquet garni and 500ml cold water.
Pop a lid on the pan. Bring to the boil. Once it’s boiling, turn the heat down. Simmer over a low heat for 2 hrs to make a giblet stock. Strain into a bowl. Discard the veg and giblets. Leave the stock to cool.
While the stock simmers, heat your oven to 180°C/Fan 160°C/Gas 4. Peel and slice the shallots. Pop in a roasting tin with half the sage. Add 1 tbsp oil and season them. Mix them together with your hands so they’re coated in the oil and seasoning.
Weigh your turkey to check how much it weighs exactly. Pop it on top of the onions, breast side down. Pour 500ml boiling water around (but not over) the turkey. Season the turkey with a little salt and pepper. Put the turkey in the oven on the middle shelf. Roast for 1 hr (this is the same, whether your turkey weighs nearer 4kg or 5kg).
After 1 hr, take the turkey out of the oven and carefully turn it over so it is breast side up (make sure you protect your hands from the heat and have some sturdy spatulas to help with turning it). Season the turkey again. Use a sharp knife or skewer to slice right through the skin between the leg and breast to allow the juices to drain out and the thighs to cook. Top the water up again with 250ml boiling water.
Return the turkey to the oven and roast for another 1 hr. If your turkey is nearer 4kg, then you just need to roast it for 45 mins more.
To check the turkey is ready, insert a skewer into one of thighs. If the juices run clear, it’s ready. Transfer the turkey to a board. Wrap loosely in foil. Rest for 1 hr. Spoon the shallots out of the tin. Pop them in a bowl. Pour the roasting tin juices into a measuring jug. Let sit for 15-30 mins so the fat rises to the surface. Skim off the fat. Pour in enough of the giblet stock to make 750ml.
Make the gravy: melt 50g butter in a pan. Stir in 2 tbsp flour. Cook and stir for 2 mins to make a roux. Slowly whisk in the stock. Bring to the boil. Turn the heat down. Simmer for 5-10 mins till the gravy thickens. Stir in the shallots. Chop the remaining sage leaves and add them. Taste and adjust the seasoning. Serve the gravy with the roast turkey.