Heat 2 tablespoons of olive oil in a large saucepan over medium heat. Add the onion and cook for 5 minutes until soft.
Add the sliced garlic and rosemary. Cook for 2 minutes until the garlic is golden and fragrant - do not let it brown.
Pour in the vegetable stock and bring to a simmer. Cook for 10 minutes so the flavours combine.
Add the torn bread chunks to the soup. Stir well and let them soak for 5 minutes, breaking them up with your spoon as they soften.
The bread will thicken the soup into a rustic, porridge-like consistency. Add a splash more stock if it is too thick.
Season with salt, plenty of black pepper and a splash of red wine vinegar if using. Serve in warm bowls with a drizzle of olive oil and grated parmesan on top.