Place lentils in a large bowl. Pour in warm water to cover the lentils by about 1 inch (2.5 cm). Let soak while preparing the other ingredients. Slice the leeks in half lengthwise. Wash under running water to ensure there is in grit inside. Then slice crosswise.
Add the oil and garlic to a large heavy frying pan or Dutch oven, and heat using a medium-high setting. Add leeks and fry while stirring often, until they are crisp and golden brown (generally 5 - 10 minutes. Stir in the rice and sauté for an additional two minutes. Add the allspice, cumin and cayenne. Drain the lentils that have been soaking and add to the pot. Add the bay leaf, cinnamon stick, 2 teaspoons salt, 4 1/4 cups water. Bring to the boil and then reduce to a simmer. Cover with a lid and cook, using low heat for about 15 minutes.
Rinse greens in a colander, shake dry and add to the top of the lentil mixture, to wilt them. Cover the pot with a lid and cook for 3-5 minutes more. Check that the rice and lentils are tender, but a little firm and that and greens are wilted. Remove from heat and set aside with the lid on for about 5 minutes. Serve into bowls and garnish with the crisp brown leeks that were cooked previously.