Heat the butter or olive oil in a large pot. Add the onion and celery with a pinch of salt and gently cook until very soft, about 10 minutes. In the meantime roughly chop the tomatoes.
Stir in the garlic, tomatoes, oregano, broth, tomato paste, salt, pepper and balsamic vinegar. Bring to a boil then turn down the heat and simmer for 25 minutes.
While the soup is cooking make the haloumi croutons. Heat the oil oil or butter over a medium heat in a large frypan. Cook the haloumi pieces until golden on each side.
Take the soup off the heat, stir in the basil and blend to a smooth puree with a stick blender. Taste for seasoning.
Ladle the soup into bowls, drizzle over some yoghurt, cream or creme fraiche and top with the haloumi croutons.