Heat vegetable oil in 4 quart soup pot. Add celery, onions and carrots. Saute 5 minutes. Add basil, oregano, bay leaf, tomatoes, and chicken broth. Bring to a boil, reduce heat and simmer until carrots are tender, about 15 minutes.
While soup simmers, prepare a roux. Melt butter over low heat, add flour and cook, stirring constantly, 5-7 minutes. Slowly stir in 1 cup hot soup. Add another 3 cups and stir until smooth. Add back into soup pot.
Simmer, stirring constantly, until soup begins to thicken. Add Parmesan cheese and whisk to blend. Stir warmed half and half, and salt and pepper to taste. Simmer over low heat 15-20 minutes, stirring occasionally.