Heat the olive oil in a medium pot, over medium heat. Add the onions and cook for 2-3 minutes. Add the garlic, scallion, potatoes, carrots and cumin. Season with salt and pepper. Cook for about 5 minutes or until they are golden brown, stirring often.
Add the chicken, beef or vegetable stock, beans, tomato paste and stir. Reduce the heat to medium-low an continue cooking for about 20 minutes, stirring occasionally.Transfer the soup to a blender, or use an immersion blender, and puree the soup until smooth.
Return the soup to the pot. Cook for about 2 minutes and season to taste.
Laddle in bowls and add chorizo and cilantro for garnish. Serve warm.