In a large pot, heat the olive oil over a medium heat. Once hot, add the red onion and a pinch of salt. Cook, stirring, for 5 minutes until the onion has softened.
Pour in the can of tomatoes. Fill the can up with water and add that to the pot too. Crumble in the stock cube and add the cauliflower and za'atar. Turn the heat up and bring the mixture to the boil. Once boiling, turn the heat down to simmer. Cover with a lid and leave to simmer for 10 minutes then remove the lid and simmer for a further 10 minutes.
Add the balsamic and 1 tsp of sugar to the pot. Blend the soup either using a stick blender straight in the pot or by pouring it into a free-standing blender. Taste the soup and add any more sugar or salt, if needed.
Heat a non-stick frying pan over a high heat. Add the halloumi slices to the pan. Cook until golden underneath then flip and cook until the other side is golden too. Remove to a cutting board and chop into bite-sized squares.
To serve: Divide the soup between bowls, top with a drizzle of extra virgin olive oil, a sprinkle of za'atar and a few halloumi squares.