In a large stockpot or Dutch oven, add the olive oil and butter and place over medium heat.
Add the diced onion and saute for 5-6 minutes; then, stir in the garlic, oregano, salt and pepper. Stir well and saute for 1-2 minutes.
Add the chopped tomatoes, basil and sugar; stir well and lower the heat to let ingredients simmer for 10-12 minutes.
Add the vegetable stock and the fire-roasted tomatoes to the mixture. Simmer over low heat for 30 minutes, stirring often.
Use an immersion blender to puree the soup. Or, carefully transfer the soup in batches to a blender to puree. Be careful not to spill soup and burn yourself. An immersion blender is a handy, inexpensive tool ; I highly recommend purchasing one for soups, gravies, homemade stocks, etc.
After soup is pureed, add in the cream or milk and allow to simmer 20 minutes over low heat. Stir well to combine the flavors.
Serve immediately. Store leftovers in the fridge up to one week. This soup freezes well, so do not hesitate to make a large batch and freeze for future use.