Place the beans in a bowl, cover with water, and soak for twenty four hours.
Drain and set aside.
Heat the oil in a large saucepan over medium heat, sauté the onion and garlic until soft and translucent.
Add the spices and sauté again briefly.
Add the beans and chicken stock, bring to the boil, and simmer, covered, for about two hours, stirring occasionally.
Add the bay leaves and continue to simmer, covered, for about an hour or until the beans are tender.
Tip the beans into a bowl and keep warm.
Sauté the onion in the olive oil until golden and stir through the rice.
Divide the rice and beans between four plates and top each with some coriander leaves and a poacned egg.