Finely dice the onion and crush the garlic. Melt a generous tablespoon of butter in a large saucepan or Dutch oven over a low/medium heat. Add the onion and garlic. Sweat gently for a few minutes until tender and fragrant.
Dice the cauliflower into bite-sized florets. Add to the saucepan along with the ras el hanout, turmeric, and tomato paste. Stir well to combine. Pan fry gently for 2-3 minutes to soften the cauliflower a little. You may add more or fewer spices according to personal taste.
While the cauliflower is cooking, thinly slice the cabbage into strips. Add the stock to the saucepan and bring up to a gentle boil. Add the cabbage strips. Simmer for 6-7 minutes or until the cauliflower and cabbage are tender. You may season with salt and pepper if desired – this will depend on the strength of seasoning already in your stock.
Divide the soup between individual serving bowls. Top each bowl with a swirled tablespoon of sour cream. Scatter with chopped fresh cilantro and the pine nuts to serve.