Heat the olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion and sauté until it becomes translucent and lightly golden, about 5 minutes.
Add the minced garlic and sauté for another minute until fragrant.
Add the cumin, paprika, turmeric, cinnamon, and cayenne pepper (if using). Stir the spices with the onion and garlic mixture for about 30 seconds to release their flavors.
Add the diced tomatoes and tomato paste to the pot. Cook for a few minutes, stirring occasionally, until the tomatoes start to break down and release their juices.
Add the soaked and drained white beans to the pot and pour in the vegetable or chicken broth. Stir well to combine all the ingredients.
Bring the stew to a boil, then reduce the heat to low. Cover the pot and let the stew simmer gently for about 1 to 1 1/2 hours, or until the beans are tender and cooked through. Stir occasionally and check the liquid level, adding more broth if needed.
Once the beans are cooked and the stew has thickened slightly, season with salt to taste.
Serve the Moroccan Loubia hot, garnished with chopped cilantro or parsley. Squeeze fresh lemon juice over each serving for a tangy flavor. It pairs well with crusty bread or steamed rice.Enjoy your homemade Moroccan Loubia!