In a large saucepan, fry the onions until they are almost translucent or clear. Then add all the spices and fry for another 1 to 2 minutes. Next add the tomatoes and mix with the spices and onions. Cook until a paste-like consistency forms.
Add the chicken, potatoes, carrots and water to the saucepan. Mix with the tomato paste and simmer on low heat. Put the lid on and cook for about 30 minutes until the chicken is tender. Stir occasionally. Remove the bay leaves and the cinnamon stick.
Hollow out a loaf of bread and serve the cooked curry in the bread. Serve with rice if desired.
Traditionally it is eaten with the hands and the bread is used to absorb the sauce.