Heat olive oil in a large pot over medium heat.
Add chopped onions and sauté until translucent.
Stir in the sliced leeks and cook until softened.
Add diced potatoes and sauté for an additional 5 minutes.
Pour in the broth and bring the mixture to a boil.
Reduce heat and simmer for about 20 minutes or until the potatoes are tender.
Use an immersion blender to puree the soup until smooth.
Stir in heavy cream if desired, and season with salt and pepper.
Simmer for an additional 5 minutes to heat through.
Serve hot, garnished with fresh herbs.