Heat the olive oil in a large pot over medium heat. Add the onion, carrots, and celery and sauté for 5 minutes, stirring occasionally.
Add the garlic and cook for 1 minute, stirring constantly.
Add the vegetable broth, rosemary, thyme, and potatoes and bring to a boil. Reduce the heat to low and simmer for 15 minutes, or until the potatoes are tender.
Discard the rosemary and thyme stems. Use an immersion blender to puree the soup until it reaches the desired consistency. Alternatively, you can transfer the soup to a blender and blend until smooth.
Stir in the Parmesan cheese (if using) and season with salt and pepper, to taste.
Serve warm with crusty bread.