Put the flour in a shallow dish and season with salt and pepper. Cut the fish into large serving pieces and dust in the flour, shaking off the excess.
Heat 2 tablespoons of oil in a large sauté pan and cook the fish until just cooked through and golden. Don’t have the pan too hot or the flour will catch and burn.
Remove to a plate, cover and keep warm. Don’t wash the pan.
Add another tablespoon of oil to the pan and add the onion. Cook until soft then add the ginger, garlic, all the spices and the bay leaves along with a splash of water if the pan is too dry. Cook for 2 minutes
Then add the tomatoes and water. Bring to the boil then simmer for about 10 minutes until reduced a little. Stir in the lemon juice and sugar then add the fish and cook for 2 minutes until hot.
Serve with hot cooked rice, crispy shallots, coriander and lime wedges, if desired.