In a large stockpot or Dutch oven over medium heat, melt butter and add pepper flakes, onion, and carrot. Sauté 5-8 minutes, until vegetables are softened.
Add in garlic and tomato paste and continue to cook and stir 2-3 minutes. Tomato paste might begin to darken slightly and stick to the bottom of the pan; this is okay.
Add chicken-style broth to pot to deglaze pan, scraping any browned bits off the bottom. Add in canned tomatoes, basil, and bay leaf and bring to a boil. Reduce heat to low and simmer, uncovered, for 20-25 minutes, stirring occasionally.
Remove the bay leaf and use an immersion blender to purée the soup to your preferred consistency. (I usually like to leave it just slightly chunky.) You can also transfer to a blender to purée. If you do, I recommend working in smaller batches, as the steam creates a lot of pressure in the pitcher and may cause the lid to pop off if you're not careful.
Return to stove to heat through. Optionally, stir in cashew cream, coconut cream, or a vegan half & half substitute to make it extra creamy.