Prepare the fish by removing the scales, fins and guts. Clean well, pat dry and score lightly on both sides.
Make a marinade by mixing all the spices in vegetable oil. Apply this generously over the fish on both sides and keep for at least 30 minutes.
Heat the grill on high and oil it well; when smoking hot place the fish and grill on medium heat. Turn sides only when one side has been cooked well; this helps to prevent the fish skin from sticking to the grill. Cook on the other side and remove to a platter when done.
In another pan, heat oil and add the garlic and onion; sauté till the onions turn translucent.
Add the tomatoes and continue to cook till the tomatoes have softened well.
Season with salt, pepper and fish sauce.
Mix well to combine and remove from heat. Add in the whisked egg and continue mixing. Place back on heat and cook for a few seconds till the egg mixes through but does not coagulate or scramble.