Cut the liver into 1in (2.5cm) strips, and soak the pig's liver in cold milk for 30-60 minutes, if possible. Lamb's liver need not be soaked. Peel and slice the onion. Peel and chop the fresh garlic. Remove the liver from the milk, but reserve the milk to use in the sauce.
Heat the butter and oil in a frying pan over a moderate heat, and fry the onion for 2-3 minutes, stirring occasionally, until just soft. Add the liver pieces, fry gently, turning frequently to brown on all sides (3-5 minutes). Stir in the flour, garlic, tomato puree, herbs, salt and pepper. Remove from the heat. Dissolve the stock cube in the hot water. Gradually mix in the stock and milk, return to the heat and stir continuously until the sauce thickens. Lower the heat, cover the pan, and leave to simmer for 10 minutes until the liver is tender.