Heat ½ cup oil in a heavy pan over medium high heat. Add the onion and saute until golden brown, about 4 minutes.
Add the garlic, ginger, salt, tomato sauce, curry powder, garam masala and cashews. Cook, stirring regularly, on medium heat for 5 minutes. Remove from the heat and set aside to cool.
Place cashew mixture in a food processor and process until smooth.
Season the fish with salt and then rub 3 tablespoons of the cashew mixture all over the salmon fillets. Set aside.
In a large frying pan, heat the remaining ¼ cup oil over medium high heat. Add the salmon fillets and fry until brown, about 2 minutes on each side. Remove the salmon from the pan and set aside.
Remove all but 2 tablespoons of oil from the pan. Reheat the pan over medium high heat and then add the water, mustard seeds and remaining cashew mixture.
Bring to a simmer and then add the salmon fillets, and cook for another 3 minutes.
Serve with rice. Garnish with chopped cilantro.