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.