Cut the fish fillets into roughly 7cm/3in wide strips. Put in a bowl and toss with the salt, cayenne pepper, half a teaspoon of the mustard powder and lots of freshly ground black pepper.
Mix the remaining mustard powder with 300ml/10fl oz water, adding it gradually and stirring constantly until you have thin yellow liquid. Set aside.
Heat the oil in a large non-stick frying pan and fry the fish over a high heat, skin-side down for a minute, or until the skin begins to crisp. Carefully turn over and cook on the other side for a further minute. Take the fish out of the pan and put on a plate. (Don’t let the fish get crowded in the pan or they will be difficult to turn. If your pan isn’t large enough, cook the fish in two batches instead. It’s nice to have the skin on the fish but you can easily remove it after frying if you prefer.)
As soon as the fish is cooked, return the pan to the heat and add both the mustard seeds and cumin seeds. Cook for a few seconds, stirring constantly. Add the sliced onion, chillies and bay leaf. Cook for about five minutes, stirring constantly, until the onion is softened and pale golden-brown. Make sure you cook with the extractor on full-speed as the spices could make you sneeze! Sprinkle over the turmeric and garam masala, add the chopped tomatoes and cook for two minutes more, stirring constantly.
Stir in the reserved mustard liquid and bring to a simmer. Cook for three minutes, or until the sauce has thickened and the volume of liquid has reduced by approximately one-third. The spices should have mellowed and the sauce should coat the back of a spoon. Return the fish to the pan and warm through in the bubbling sauce for two minutes until hot.
Serve immediately with rice.