Put a pan of water on to boil for the eggs.
Add the vinegar.
Meanwhile toast the bread.
Then heat the oil in a pan.
Add the onion and gently cook for a few minutes until it softens.
Sprinkle the spices in with the onion and stir briefly to toast them.
Now add the tomatoes and beans, cook until warm.
Turn down the heat under the pan so that the water is just simmering.
Add the eggs and gently poach them until the whites are firm but the yolks are still runny.
Butter the toast if require.
Pour the bean mixture onto the toast.
Now place the eggs on top.
Add herbs if required.