First you need to roast your red peppers. Sometimes you can find roasted red peppers already cooked and de-skinned in a jar, which makes this an even easier meal to prepare. But if you can't find any in a jar or just prefer to roast your own, here's how.
Remove the stem, inside veins, and seeds from the bell peppers. Cut in fourths. Rub a tablespoon of olive oil over a baking pan and place the peppers on the pan, cut side down. Cook under the broiler until the skins become charred looking, about 6-8 minutes for me. I find that broilers are all a little different, so keep an eye on them so they don't burn.
Once you remove them from the oven, place in a plastic bag (or two). Seal and let them steam for a couple of minutes. Once they are just cool enough to handle, remove the bags and peel off the skins.
In a medium sized pot, add a tablespoon olive oil and heat over medium heat. Toss in the onion and cook for 2-3 minutes until it begins to soften. Toss in the garlic and cook another 1-2 minutes. Season with the cayenne and a little salt and pepper.
Now add in the canned tomatoes and juices and the roasted red peppers. Cook over medium low heat for 5-6 minutes until everything gets heated. Puree with an immersion blender or in a blender in batches (be careful as it's hot!). Continue to cook and add the cream if you are using it. Also, if the soup seems too thick, you can add a little vegetable stock or water to thin it out. Add salt and pepper to taste.