In a large, heavy pot, heat the oil over medium-high heat. Add the onion and carrot and cook, stirring frequently, until the vegetables are soft but not browned, about 5 minutes. Add the garlic, cinnamon, cloves and saffron and cook for about 1 minute longer. You can wrap cinnamon stick and cloves in cheese cloth for easy removal.
Drain the beans and stir them into the pot. Add the cilantro and parsley sprigs and enough stock or water to cover by 1/2 inch. Cook until the beans are tender.
Stir in the tomato and salt and pepper to taste and simmer until the flavors are well blended, about 20 minutes. Remove bay leaves, cinnamon and cloves before serving.