Heat a large soup pot. Add the oil, then the onion, and cook, stirring occasionally, for about 5 minutes.
Add all remaining ingredients, bring to a low simmer. Keep the soup simmering, not boiling, for the next 20 minutes.
Remove from heat, let cool for a few minutes, and then using an immersion blender, blend the soup. See note below if you don't have an immersion blender.
Serve with fresh cilantro and/or vegan sour cream, if desired.
Notes
Notes: if you don't own an immersion blender, and you make soups often, buy one! The one I have is by KitchenAid and has lasted me for at least 15 years. You can use a regular blender to blend the soup - but oh my gosh, be careful when pouring it! If it were me, I would bring the soup close to room temp, then pour in batches into the blender. Then pour back in the pot and bring back to heat before serving.