Mix together in a large bowl the yoghurt, ginger-garlic paste, tandoori paste, tomato puree, soy sauce, vinegar, lemon juice, egg, cayenne pepper (adjust amount to suit your taste), coriander, cumin, turmeric, salt and pepper. Place the fish fillets into the marinade and turn to coat each side. Cover bowl with plastic film and refrigerate for an hour.
Preheat oven to 200 degrees C. Use one teaspoon each of the butter and olive oil to coat a shallow baking dish large enough to accommodate the fish in a single layer.
Remove fish from marinade and place in baking dish. Drizzle with remaining olive oil and dot with the remaining butter. Bake in preheated over until golden brown on top, about 30 to 40 minutes.
Place fish on warm serving platter and garnish with coriander, lemon wedges, and onions.
Tandoori masala paste can be purchased in any Indian market.