Before you marinade the fish if the pieces are large cut them in half, sprinkle some salt over it and set aside for 15 minutes.
Marinade the fish in all the ingredients for the marinade.
Heat the oil in a large non stick pan, over a medium high heat
Fry for 2-3 minutes each side and remove into a plate.
Add the seeds to the oil and heat for a minute (you may need to turn the heat down to stop the oil smoking). Add the onions to the same pan and cook until browned (5-8 minutes).
Mix in the ginger, garlic and green chilli.
Pour in the tomatoes, turn the heat down and cook for a further 7-8 minutes.
Add red chilli powder, chilli flakes, turmeric powder, coriander and cumin powder and salt and cook for 2-3 minutes.
Stir in the yogurt and pepper and cook for a minute.
Add the fish pieces, Kasuri methi and a cup/250ml of water and simmer for 10-12 minutes.
Add lemon juice and cook for another minute.
Notes
Generally Methi fish doesn't have tomato in it, so you can skip that part if you wish. I just think it works really well.