Coat the bottom of a large pot with the oil and place it over medium heat. Once the oil is hot, add the shallots. Sweat the shallots for about three minutes, stirring frequently, until they begin to soften.
Stir in the garlic and red pepper flakes. Cook the mixture for about one minute, stirring constantly, until the garlic becomes very fragrant.
Stir in the broth, broccoli, kale, and cannellini beans. You may need to add the kale in batches, stirring in each addition and letting it wilt before adding more. Raise the heat and bring the liquid to a boil, then lower the heat and let the soup simmer for eight minutes.
Stir in the spinach, again adding it in batches if needed. Bring the soup back to a simmer and let it cook until all of the vegetables are tender, about four minutes longer.
Remove the pot from heat and stir in the basil, parsley, and lemon juice.
Blend the soup either using a hand blender, or by carefully transferring it to a regular blender in batches, then returning it to the pot when done.
Season the soup with salt and pepper to taste. Ladle into bowls and serve.