Rinse and pat dry cod fillets and set aside.
In large mixing bowl, add ginger + garlic paste, red chili powder, turmeric and salt and mix well to make a smooth paste. Add cod fillets and gently coat all pieces in spice mixture. Marinate for at least 30 minutes.
In a blender, add fried onions, peanut butter, Tahini paste, roasted + shredded coconut, roasted coriander + cumin seeds and blend to a smooth paste. Set aside.
In cooking pot, heat 4 tbsp Canola oil on medium high heat. Once oil is hot, turn heat to medium and all mustard + cumin seeds and sauté for 2-3 minutes. Add dried red chilies, mix well, add sliced onions and continue to sauté for 8-10 minutes, mixing as needed, until onions are golden brown. Now add 3-4 curry leaves, mix, cook for 1-2 minutes and ginger + garlic paste and fry for 2-3 minutes. Add remaining spices (Kashmiri Lal Mirch, turmeric powder, Kosher salt), add a splash of water (to prevent spices from burning), mix well, add chopped tomatoes and sauté for 5-7 minutes, mixing as needed. Once oil separates, add roasted masala onion paste, mix well, turn heat to low and cook (uncovered) for 30 minutes. Now add remaining curry leaves + coriander leaves, mix to combine and add prepared Tamarind water (Imli ka katha) and 2 cups water. Bring to a boil and then simmer on low heat for 40-45 minutes, stirring as needed.
In large skillet, heat 4 tbsp Canola oil on medium high heat. Once oil is hot, turn heat to medium and fry each piece of fish (in batches) for 2-3 minutes per side until golden brown. Place fried fish on paper towels to remove any excess oil. Carefully add fried fish to Khaliya gravy and simmer uncovered for a final 5-7 minutes. Do not over cook as fish is fragile. Garnish with freshly chopped coriander leaves.
Intricately delicious Hyderabadi Mahi Khaliya is now ready to serve. Perfect with plain Basmati rice. Enjoy! Nosh Farma'aiye.