Melt the butter in a Dutch oven over medium heat. Add shallots and celery; cook 5 minutes, stirring constantly. Add broth and water; bring to a boil. Add cauliflower, bell pepper, potato, and bay leaf; return to a boil. Reduce heat, and simmer 20 minutes or until potato is tender. Stir in milk and black pepper. Cool slightly; discard bay leaf.
Place 1 1/2 cups soup in a blender or food processor; process until smooth. Pour the pureed soup into a large bowl. Repeat the procedure with an additional 1 1/2 cups soup. Add the remaining soup to the pureed soup, and stir in basil. Return the soup to the pan, and bring to a boil over medium-high heat, stirring frequently. Remove from heat. Spoon 2 cups soup into each of 5 bowls; top each serving with 1 tablespoon sour cream.