1. Heat olive oil in stockpot over low-medium heat. Add onion and cook stirring frequently until onion is translucent, about 10 minutes. Add garlic and continue to cook for another 5 minutes.
2. Add peeled, seeded, and chopped tomatoes with their juices.
3. Add stock and basil springs with ½ the salt and pepper and bring to a boil. Reduce heat and simmer uncovered until slightly thickened, about 25 minutes.
4. Puree then return to simmer for an additional 5 minutes.
5. Add in cream or milk and heat through for 2 minutes. Do not boil.
6. Taste and re-season with remaining salt and pepper, if required.
7. Garnish with fresh chopped basil and serve immediately.