Heat the butter in a large saucepan, add the onion and fry gently for 5 minutes until just turning golden around the edges. Stir in the diced root vegetables, the tomatoes and lemon.
Pour in the stock and lager, then add the spices and season well with salt and pepper. Bring to the boil, stirring, then cover and simmer for 45 minutes.
Meanwhile, mix all the meatball ingredients together. Divide into 18 and shape into small balls with wetted hands. Chill until needed.
Add the meatballs to the soup, bring the soup back to the boil then cover and simmer for 10 minutes. Add the cabbage and cook for 10 minutes until the cabbage is tender and the meatballs cooked all the way through. Taste and adjust the seasoning. Ladle into shallow bowls and sprinkle with a little chopped parsley if liked.