Heat the oil and butter in a large pan. Add onions, leek and potatoes and cook for about five minutes, until starting to soften, stirring from time to time. Add the celery and cook for a few minutes more.
Meanwhile cut the half cabbage in quarters. Remove central stalk from cabbage and discard. Cut leaves across the wedge shape in short shreds.
Pour stock and can of tomatoes into the pan with the cabbage. Bring to the boil and gently simmer for about 30 mins.
Add pesto for the last 5 mins, and check the seasoning before serving.