In a large bowl mix together the beef mince, liver, bacon, Madeira or Port, lemon zest, juniper berries, cranberries and seasoning. Cover and leave to marinate in the fridge for 2 hours, or overnight.
Preheat the oven to Gas mark 2, 150°C, 300°F.
Heat the butter in a large non-stick frying pan and cook the onion and garlic for 3-4 minutes until soft, but not coloured. Stir in the herbs and spices. Set aside to cool for 5-10 minutes.
Remove the terrine mixture from the fridge and add the onion and herb mix, egg, cream and pistachio nuts. Mix gently.
Line a 900g/2lb loaf tin with the pancetta slices and randomly tuck in half the bay leaves between the pancetta. Spoon the mixture into the tin and fold over the pancetta slices. Tuck in the remaining bay leaves. Cover the terrine with a piece of double-thickness foil and pleat the corners to allow the steam to escape.
Put the loaf tin in a large roasting tin and place on the middle shelf of the oven. Carefully pour in enough hot water to reach halfway up the tin and cook for 1½-2 hours.
Remove the terrine from the oven and leave to cool with the foil in place for 20-30 minutes. Next, weigh the terrine down with two full 450g/1lb cans. When completely cold place the terrine in the fridge overnight to firm up.
One hour before serving remove the terrine from the fridge, cut into slices and serve with crusty bread or Melba toast, topped with a pomegranate relish. Great canapés!