Cook Italian sausage in a large Dutch oven until browned, 3 to 5 minutes. Drain excess fat and place cooked sausage on a paper towel-lined plate.
Heat olive oil in the Dutch oven over medium heat and cook onion and garlic until soft and translucent, 2 to 3 minutes. Stir in cauliflower florets and cook until slightly toasted, about 5 minutes. Pour in chicken broth and bring to a boil. Cook until cauliflower is tender, about 10 minutes.
Puree soup with an immersion blender until smooth. Stir in cooked sausage, kale, and beans; cook until kale begins to wilt, 1 to 2 minutes. Stir in heavy cream and heat through, about 1 minute. Season with salt and pepper.
You can use mild or hot Italian sausage. Sometimes I top the soup with crispy bacon or add hot sauce (if used mild Italian sausage).
If you don't have an immersion blender, add slightly cooled soup to a standard blender in batches and blend to desired consistency. Return soup to the pot and then stir in cooked sausage, beans, and kale as directed in recipe.
A lower-fat option would be to use milk instead of cream, but the cream really makes it!