Wash and prepare the vegetables. Dice the onions, remove the seeds and membranes from the bell peppers, and chop the peppers into pieces.
Peel the tomatoes if desired. Core and roughly chop them, keeping any juices released while cutting.
Heat the olive oil in a large pot or Dutch oven over medium-low heat. Add the onions and cook for 5–7 minutes, stirring occasionally, until soft and translucent. Do not let them burn.
Add the red pepper pesto and Italian seasoning. Cook for about one minute, stirring frequently.
Add the red bell peppers and continue cooking for 4–5 minutes.
Add the tomatoes and their juices. Pour in the water or vegetable broth and season with salt and black pepper.
Bring the soup to a gentle boil. Reduce the heat, cover, and simmer for 20–25 minutes, or until all the vegetables are very tender.
Remove the pot from the heat. Carefully blend the soup with an immersion blender until smooth and creamy. Keep the blender head submerged to prevent splashing.
Taste the soup and add more salt or pepper if needed. If the tomatoes taste particularly acidic, add a small pinch of sugar.
If the soup is too thick, add a little more hot water or broth. If it is too thin, simmer it uncovered for another 5–10 minutes.
Divide the soup among bowls. Top each serving with basil pesto and garnish with fresh basil, red pepper flakes, croutons, Parmesan, or olive oil if desired.