Don't miss out on our special Christmas issue with free 2023 calendar - subscribe by 18 October!
Preheat the oven to 230C/Gas 8/fan oven 210C. Brown the duck bits in the oven for about 30 minutes. Transfer to a stockpot. Discard the fat and place the tin over a medium-high flame. Pour in the Marsala and 200ml/7fl oz cold water, bring to the boil and scrape any stuck-on bits into the liquid. Boil for 2 minutes then scrape everything into the stockpot.
Add 2.25 litres/4 pints cold water to the pot and bring to the boil over a medium heat, uncovered. Scoop off any scum, then add the vegetables and herbs. Bring back to the boil, de-scum again.
Now very gently simmer for 2 hours, adding cold water if the liquid falls below the level of the bones. Remove from the heat and drain through muslin-lined colander (or use a clean tea towel) into a heatproof bowl. Cool, then refrigerate until jellied.
Heat the butter and oil in a large, nonstick frying pan over a low-medium heat, then tip in the onions. Cook for about 30 minutes, stirring occasionally, until meltingly soft. Turn heat to high, add the Marsala and boil for 3-4 minutes, stirring often, until onions are syrupy. Set aside.
Meanwhile, remove the solidified fat from the stock and discard. Boil the stock in a saucepan, uncovered, until reduced to 500ml/18fl oz. Add the white wine and boil for 10 minutes, uncovered. Add the onions and sage and bring back to the boil. (Prepare in advance up to this point.)
To finish the sauce, pour in the cream and boil furiously for 4-5 minutes, season to taste. Serve in a warmed jug.