Pat the fish dry with kitchen paper. Sprinkle evenly with the salt and pepper and dust with flour, shaking off any excess.
Drain the tomatoes, reserving the juice, and chop the flesh into small chunks. Measure the amount of juice, keep half and set aside. Discard the rest.
Heat a wok over high heat until it is hot. Add the olive oil, and when it is moderately hot, add the fish fillets and pan-fry them for 3-5 minutes, depending on the thickness of the fillets. Then turn them over and brown the other side (this will also take about 3-5 minutes). When cooked, remove and drain on kitchen paper. Turn onto a warm platter.
Pour off all but one tablespoon of oil from the wok, add the garlic and shallots, and stir-fry for one minute.
Add the tomatoes, the reserved tomato juice, rice wine or sherry, soy sauce, chilli bean sauce and sugar, and simmer for five minutes.
Pour the sauce over the fish, garnish with the basil and serve at once.