Soften the vegetables. Heat the olive oil in a large saucepan over a medium-low heat. Add the onion, celery, carrot and red pepper and cook for 8-10 minutes, stirring occasionally, until softened. Stir in the garlic.
Add the tomatoes and beans. Add the butter beans, chopped tomatoes, thyme, basil and paprika. Stir everything together well.
Cook the orzo in the soup. Pour in the vegetable stock and add the uncooked orzo. Stir well, bring to the boil and then reduce to a gentle simmer for around 10 minutes, or until the orzo is al dente.
Stir a few times while the orzo cooks, especially towards the end, as the pasta can settle on the bottom of the pan.
Add the spinach. Stir through the spinach and cook just until wilted. Taste the soup and adjust the seasoning before serving.
The soup will continue to thicken slightly as it stands, so add another splash of hot stock or water if you prefer a brothier consistency.
Notes
Dice the vegetables into similar-sized pieces so they cook evenly.
Use a large saucepan so there is enough room to stir the orzo without it catching on the bottom.
Taste the soup after the orzo has cooked before adding extra salt, as stock varies considerably between brands.
Add the spinach right at the end so it stays bright rather than becoming overcooked.
Finish individual bowls with lemon juice, chilli flakes, pesto or Parmesan so everyone can customise their own.
If you prefer plenty of broth, keep a little extra hot vegetable stock nearby and add it just before serving.