Crush or finely chop the garlic. Finely chop the onion. Coarsely chop the capsicum and tomato. Thinly slice the chilli, removing the seeds if less heat is desired (you can omit the chilli, if preferred). Cut the fish into bite-sized chunks.
Step 2 — Cook garlic and onion
Heat 2 tsp oil and 10g butter in a small saucepan over medium heat. Add the garlic and onion, season with salt and pepper and cook, stirring regularly, for 3 mins or until the onion is starting to soften.
Step 3 — Cook rice
Rinse the rice until the water runs clear. Add the rice and 250ml (1 cup) water to the onion mixture, cover and bring to the boil. Reduce the heat to low and cook for 12 mins or until tender and the water is absorbed. Turn off the heat and stand, covered, for at least 5 mins.
Step 4 — Start sauce
Meanwhile, heat 2 tsp oil in a medium deep frypan over medium-high heat. Add the capsicum, season with salt and pepper and cook, stirring occasionally, for 5 mins or until starting to soften.
Step 5 — Simmer sauce
Add the masala seasoning to the capsicum and cook, stirring constantly, for 1 min or until fragrant. Stir in the tomato paste, coconut milk, tomato and 125ml (½ cup) water, season with salt and pepper and bring to the boil. Reduce the heat to medium and cook, stirring occasionally, for 10 mins to develop the flavour.
Step 6 — Finish curry and serve
Add the fish to the sauce and cook, stirring occasionally, for a further 5-6 mins until cooked through. Stir in the spinach and 1 tsp white vinegar and cook for a further 1 min or until wilted. Taste, then season with salt and pepper. Fluff the rice with a fork. Divide the rice and curry among bowls. Scatter with the chilli to serve, if desired.