For the tomato sauce, heat the oil in a heavy-based saucepan or a flameproof casserole, over a medium heat. Add the cinnamon sticks and fry until deep brown in colour and swollen, but not burnt. Add the red chillies and cloves (if using) and, after about 20 seconds, add the chopped onions. Fry gently for 3-4 minutes, or until they are soft but not brown. Add the ginger and garlic paste and fry for a further minute or so.
Stir in the tomatoes, vinegar, jaggery (or muscovado sugar) and tamarind, if using. Part-cover and simmer over a low heat for 15-20 minutes, stirring occasionally, until pulpy. Season to taste with salt, remove from the heat and set aside.
For the fishcakes, if you have a mincer (grinder) or food processor at home, then mincing the fish is easy. If not then you can chop up the fillets and with a cleaver or a large knife. Chop repeatedly as if chopping parsley until you get a fine mince.
In a food processor, blend the chilli, ginger, garlic and coriander with the fish and mix to a rough paste.
Add the salt, lemon juice and the egg and mix well. Finally work in the well-squeezed bread. The bread is to stabilise the mixture and if you find it is too soft, soak and squeeze another slice or two until you have a mix that is firm enough to form into balls without sticking to you palms.
To check the seasoning, fry a tiny piece fry of the mixture and taste. Season with salt and pepper, to taste. When you are happy with it, divide the mixture into even-sized balls depending on the size you prefer. You may like them large if eating as a main dish or small if serving as a snack.
Heat about 5mm/¼in oil in a deep frying pan. Spread the flour out in a flat tray big enough to take all the balls at one time and beat the eggs in a shallow dish.
Flatten each ball until about 1cm/½ in thick. Smooth the edges so that they are not jagged or uneven. Coat in the flour and then the beaten eggs, draining off any excess. If the egg is well-beaten you will get a nice frilly texture.
Fry the cakes in batches for 2-3 minutes on each side, or until golden-brown. Drain on a plate lined with kitchen paper. Remove the cinnamon and cloves (if using) from the sauce and reheat, if serving hot.