Heat the oil in a large pot over medium heat. Add the onion, scallions, garlic and cook for about 5 minutes, while stirring.
Add the remaining ingredients and mix well. Reduce the heat to medium, cover and simmer for about 45 minutes or until all the vegetables are cooked.
Working in batches, puree soup in blender until smooth and return soup to saucepan. Bring soup to simmer, correct seasonings adding salt and pepper, to taste.
Ladle soup into bowls. Top with 1 tablespoon of heavy cream and garnish with cilantro.