Soak the cranberries in the port for an hour. Fry the onion and bacon gently in the butter, until the onion is tender and the bacon is cooked. Add the garlic and fry for another minute or so.
Cool slightly, then mix with all the remaining ingredients, including the cranberries and port, adding enough egg to bind – I find it easiest to use my hands. Fry a knob of stuffing in a little butter, taste and adjust the seasoning if necessary.
To Cook: This stuffing can be baked in a dish, or rolled into balls that will be crisp on the outside and moist inside. To bake, press the stuffing into a greased ovenproof dish in a layer that is around 4cm thick. Bake at 190C/gas 5/fan 170C for about 40 minutes, until browned and, in the case of sausagemeat stuffing, cooked right through. Alternatively, roll into balls that are about 4cm in diameter. Roast the stuffing balls in hot fat (they can be tucked around the turkey or done in a roasting tin of their own) for 30-40 minutes, until crisp and nicely browned on the outside.