In a large stock pot, heat olive oil over medium heat. Add red onion, cook stirring occasionally until tender, about 10 minutes. Add garlic, cook for 1 minute longer.
Blanch and peel tomatoes. Chop tomatoes and add to onion mixture.
Add chicken broth, salt and pepper.
Bring the soup to a boil, lower the heat, and simmer, uncovered, for 30 to 40 minutes, until the tomatoes are very tender.
Use an immersion blender to puree the soup in the pot, or transfer soup to a food processor or blender to blend.
You may also take the extra step to run through a food mill to get rid of seeds. I did this extra step because it's worth it to me for the smoothness.
Transfer back the pot. Add oregano, basil and half and half. Heat until warmed through. Serve with toppings of fresh Parmesan and croutons. Enjoy!