Heat the oil in a large pot over medium heat. Add the mustard seeds and curry leaves and cook until the seeds begin to pop.
Stir in the onion, garlic, and ginger. Cook for 3 minutes until the onion softens.
Add the tomatoes, turmeric, and chili powder. Cook for 5 minutes, stirring often, until the tomatoes break down into a thick base.
Pour in the fish stock or water and bring the mixture to a simmer. Add the green beans and cook for 4 minutes.
Gently place the fish pieces into the pot. Simmer for 5 to 6 minutes until the fish flakes easily with a fork.
Season with salt to taste. Remove the pot from the heat and scatter the cilantro over the top before serving.