To make the Vindaloo paste first grind the cumin, peppercorns, mustard seeds, fenugreek leaves, cardamom and cinnamon together until they are a fine powder.
Mix in the vinegar, salt, cayenne and brown sugar and then set aside.
Heat 3 tablespoons of the oil in a large frying pan.
Add the onions and fry over a medium heat until brown.
Keeping the oil for later use put the onions in a blender with 2 or 3 tablespoons of water and blend until a paste consistency.
Add the onions to the spices and mix well.
Put the ginger and garlic in a blender add 2 tablespoons water and blend until smooth.
Cook the ginger paste in the reserved oil stir until the paste browns.
Add the coriander and turmeric and cook for a few minutes stirring.
Add the vindaloo paste and tomato sauce. Cover and simmer on low heat for 1 hour.
Cook the potatoes in boiling water until slightly soft around 10-15 minutes.
Meanwhile fry the tofu in a little oil until sealed.
Add the tofu and potatoes to the sauce for the last 15 minutes or until they are both cooked.
Serve with fresh coriander basmati rice and naan bread.