Heat the oil over a medium-high heat. Add the cinnamon stick, peppercorns and cloves. Cook for a couple of minutes. Add the onion and sugar and cook for another 10 minutes until caramelised.
Add the cherry tomatoes and stir. Cook until the tomatoes start to break down. Add the rest of the spices along with the ginger and garlic. Cook for another 10 minutes and then add the spinach and cover for two minutes so that it can wilt.
Add the salmon to the pot and stir gently into the sauce. Cover and allow to cook for about 5 minutes until the fish is cooked. Serve with rice.