Combine cauliflower stems and leaves, chicken broth, garlic, and shallots in a 4-quart pot; add enough water to cover the leaves. Cover pot and bring liquid to a simmer.
Heat bacon drippings in a skillet over medium heat. Cook and stir onion in the hot bacon drippings until translucent, 5 to 10 minutes. Add onion to the soup and continue to simmer until stems soften, about 2 hours.
Pour soup into a blender no more than half full. Cover and hold lid down; pulse a few times before leaving on to blend. Puree in batches until smooth. Return soup to pot and stir spinach, salt, and pepper into soup; simmer for 5 minutes.