In a large soup pot, heat 3 tablespoons olive oil over medium heat.
Add 2 cans of tomato puree, 1 can of crushed tomatoes and 32 ounces of vegetable broth. Bring to a boil.
Reduce heat. Stir in 1 teaspoon garlic powder, 1 teaspoon onion powder, and 1 teaspoon dried basil. Add evaporated milk and half and half and stir until well combined. Bring to a simmer, but do not let the pot boil over.
Meanwhile, fill a medium saucepan 3/4 full with water and bring to a boil. Add orzo and cook for about 8 minutes, until al dente.
Drain orzo and add to soup pot.
Serve with grated parmesan cheese, if desired.