Dry roast the whole spices till aromatic, cool and grind to a fine powder. Add the remaining powdered spices along with garlic and grind to a paste.
To prepare the fish:
Clean the fish well, wash and pat dry with a kitchen towel. Score on both sides and season with salt. Rub the marinade onto the fish and coat well. Line slices of tomato and lemon inside and over the top of the fish. Cover with foil and refrigerate for at least 2 hours or even longer as time permits.
For the salad, mix all the veggies and just before serving, season with salt and vinegar.
Heat the grill to high and drizzle vegetable oil. Place the fish with the lemon and tomato slices on top and grill for 10 minutes. Remove the lemon and tomato slices and carefully turn over the fish and grill on the other side till done.
Serve hot with the grilled lemon, tomatoes and salad.