Heat a drizzle of oil in a large saucepan on medium-high heat. Cook onion for 4-5 minutes, until softened. Add the black mustard seeds and cumin seeds and stir for a few seconds over the heat, until they sizzle and jump about. Add first measures of garlic and ginger, curry powder, ground coriander and turmeric and stir over the heat for 1-2 minutes, until fragrant. Reduce heat to low and add the first measure of tomatoes, coconut milk and water measure. Simmer for a further 10 minutes, stirring every so often, until the tomatoes have cooked down into a sauce.
Add the butter beans, soy sauce and ½ tsp salt to pan and cook for a further 1-2 minutes, until beans are hot through. Season to taste.
Toss all salsa ingredients together in a bowl with a drizzle of olive oil and a pinch of salt. Season to taste.
Serve rice topped with curry, tomato salsa, coriander, chilli (if using) and cashews.