Place the butter, onions and garlic in a large sauce pot over medium-low heat. Saute for 5-8 minutes to soften. Stir occasionally.
Then add the tomatoes, tomato paste, basil leaves, chicken stock, beans, and crushed red pepper. Turn the heat up to medium-high and simmer for 20 minutes, stir occasionally.
Turn off the heat. Using an immersion blender, puree the the soup until completely smooth. Taste and salt and pepper as needed.
Then add the cream and stir to combine. Serve as is, or pour through a sieve for an even finer creamy texture.
Notes
Storing leftovers - Store cooled soup in an airtight container for up to 4 days in the refrigerator or 3 months in the freezer, making sure you leave room at the top of the container for expansion.
Reheating - Warm on the stovetop over medium heat, stirring occasionally. If reheating from frozen, thaw overnight in the fridge first for the best texture.