Heat oil in a large pan or skillet over medium heat. Add mustard seeds and cumin seeds. Allow them to splutter.
Add chopped onions and sauté until they turn golden brown.
Add minced garlic and grated ginger. Sauté for another minute until fragrant.
Add chopped tomatoes and green chilies. Cook until tomatoes are soft and mushy.
Add turmeric powder, red chilli powder, coriander powder, and salt. Mix well and cook for 2-3 minutes until the spices are fragrant.
Pour in coconut milk and bring the mixture to a gentle simmer.
Carefully place the fish pieces into the curry, ensuring they are submerged in the sauce. Cover and cook for 8-10 minutes, or until the fish is cooked through and flakes easily with a fork.
Sprinkle garam masala over the curry and gently mix.
Garnish with fresh cilantro leaves.
Serve hot with steamed rice or crusty bread. Squeeze fresh lemon juice over the curry before serving for an extra burst of flavor.