Set a large soup pot over medium heat and add the butter. When the butter is melted, add the onion and cook for 3 minutes, until softened.
Stir in the cabbage, kale, leeks, and garlic. Cook, stirring frequently, for 2 minutes, or until the cabbage and kale begin to wilt.
Add the bay leaves and stir in the thyme and black pepper.
Pour in the broth and add the potatoes. Stir to combine. Bring just to a boil, then reduce to low heat. Cover and simmer for 20 minutes, or until the potatoes are fork-tender.
Remove the pot from the heat. Stir in the heavy cream and half the scallions. Stir to combine and let the soup sit for about 5 minutes for the flavors to come together. Adjust seasoning to taste. Ladle into serving bowls and garnish with the remaining scallions. Serve hot.