Heat half the olive oil in a large saucepan and fry the onion until soft but not coloured, about 12 mins. Add the garlic and cook for 4 mins more. Tip in the potatoes, turn to coat, season and add about 75ml water. Cover, reduce the heat to low and cook for 12 mins, stirring occasionally. Pour in the stock, bring to the boil and continue to cook, uncovered, for 20 mins until the potatoes are completely tender. Leave to cool.
Heat the remaining olive oil and the butter in a medium saucepan over a medium heat. Toss in the spinach, season and cook for a few minutes until wilted.
Add the wilted spinach, any liquid from the pan and the rocket to the potato mixture. Use a hand blender to blitz to a smooth purée, or pulse the mixture in a food processor if you prefer a chunkier soup (you may need to do this in batches).
To make the garnish, heat the oil in a frying pan and fry the chorizo for a few minutes. Add the chillies and garlic, and cook until the garlic is softened but not brown – this will happen quickly so watch it carefully. Reheat the soup if needed, divide between bowls and top with the chorizo garnish to serve.