Fry the onion in oil until tender. Add the chopped tomatoes and cook for about 5 minutes.
Add the flour and cook it into the mixture for a minute and stir in the stock, stirring constantly to avoid lumps. Remove from the heat.
Preheat the oven to 180°C (350°F)
Food process the nuts by pulsing gradually - avoid making a paste. Add the nuts to the onion and tomato mixture, together with all the other ingredients. Mix very thoroughly and divide into 4, 6 or 8 portions, depending on the size of your containers.
Oil individual containers - mini loaf tins for cutting rings (7cm- 3 inches in diameter and 1cm or ½ inch deep). Otherwise try muffin tins, mini casserole dishes or ramekins.
Place your containers on a non-stick baking tray (or line one with parchment). Spoon the mixture into each container and press down with the back of the spoon.
Bake for 20 - 30 minutes, checking after 20 that the nuts are getting too brown - if they are, cover the containers with baking paper or tin foil.
Test the loaf with a sharp knife or skewer to check if they are cooked in the middle.
Cook the sugar and the cranberries in a pan over a medium heat for 3 - 4 minutes.
Top each individual roast with the cranberry sauce and serve hot with all the trimmings.