In a large pot, cook the onions and garlic in the olive oil over medium-low heat for just a few minutes, or until fragrant and softened. Add the remaining ingredients and bring to a boil over high heat.
Reduce the heat and simmer, partially covered, for 50 to 60 minutes, until the peas are tender. Stir occasionally while cooking.
Use an immersion blender, food processor or blender to puree the soup. (If the soup is quite hot when you puree it, use caution. Fill a blender or processor only one-third to halfway and use a towel to hold the lid firmly in place because pressure from steam can cause hot liquids to splash forcefully upward.)
If desired, thin the puree to a soup-like consistency with additional broth or water. Taste and adjust seasoning.
Serve warm, garnished as desired with olive oil, cumin and cayenne pepper. (All may be offered on the side as condiments.) Thinner bessara is eaten with a spoon, but thicker versions are scooped up like a dip with pieces of Moroccan bread.
Water is traditionally the only liquid used to make bessara, but I like to use some broth for added flavor. You can replace all or some of the broth with water, but adjust seasoning accordingly.
If you've made bessara as a dip, the leftovers can be thinned with water and served as soup for breakfast or dinner.