Heat the olive oil in a heavy pot or large saucepan over medium heat. Add the onions and cook 2 minutes, stir frequently.
Add the garlic, Italian seasoning, and pepper. Stir well and cook 1 minute.
Add the mushrooms and cook 5 minutes, stirring frequently.
Next, add the butter. Stir until it melts. Then, add the flour and cook 1-2 minutes, while stirring.
Add the broth while stirring and gently scraping the bits off the bottom of the pot. Then, Add the chicken base and Worcestershire sauce, stir until incorporated.
Raise the heat and bring to a boil. Then lower the heat, cover and cook 20 minutes. Keep the soup at a simmer, raise or lower the heat as needed.
Take the pot off heat, use a slotted spoon to remove about ½ - ¾ cup of mushrooms. Reserve them for the end. (You can skip this step if you prefer the mushroom soup creamy.)
Off the heat, process the soup in the pot with an immersion blender until it is smooth. If you don’t have an immersion blender, use a blender (see notes).
Return the soup to low heat. Add the reserved mushrooms and half and half, stir and heat through. Taste and add salt if needed. As a reference we did not add extra to ours.
Garnish with chopped parsley if desired, serve and enjoy.