Peel and finely dice the onions. Warm a pan over a medium heat for 1 min. Gloss the hot pan with 1 tbsp oil. Lower the heat. Add the onion and a pinch of salt and pepper. Cook the onion for 10 mins, stirring occasionally, till soft and a little caramelised.
While the onion cooks, scrub the carrot. Coarsely grate or finely chop it. Finely dice the tomatoes. Peel and chop the garlic. Finely chop the chilli, discarding the seeds and white pith for less heat.
When the onion is meltingly tender, swirl in the carrot, tomato, garlic and most of the chilli. Cook over medium heat for 5 mins till the tomatoes collapse into a sticky paste.
Dissolve the stock cube in 750ml boiling water. Bring to a gentle boil. Lower the heat. Simmer 5 mins. Swirl in the spinach till it wilts into the soup. Taste. Tweak the seasoning to your liking. Ladle into warm bowls and serve, garnished with the remaining chilli.