Heat oil in a large frying pan over medium-high heat. Add cumin seeds, bay leaf and cardamom pods. Sauté, stirring constantly, for a minute or until fragrant. Add onion. Sauté, stirring occasionally, for 1-2 minutes or until slightly browned.
Add ginger, garlic and green chilies. Sauté, stirring occasionally, for 1-2 minutes or until fragrant. Add tomato paste. Sauté, stirring occasionally, for 1 minute.
Add ground turmeric and ground coriander. Sauté, stirring, for a minute or until fragrant. Add yogurt. Stir to combine. Simmer 2-3 minutes or until oil separates.
Stir in potatoes and eggplants (if using). Pour water. Stir to combine. Cook, covered, for 2-3 minutes or until potatoes are tender. Add fried fish. Stir gently. Cook, covered, for 5 minutes or until fish is cooked through and sauce is slightly thickened.