Saute the onions, garlic, pepper, and carrot in olive oil until soft.
Add everything to a pot and simmer until flavors blend. The orange juice is a key ingredient, as it gives the soup its distinctive sweet-and-sour undernote. If you don't have orange juice, you can use some lemon juice and sugar to get a similar result.
Add cilantro just before the soup is finished, or reserve it to garnish.
Take 2 cups or so and blend it in a blender for texture (this is important, as otherwise the soup will be watery and the ingredients will fall to the bottom of the bowl.)