In a 4-quart heavy saucepan simmer cannellini beans in water 10 minutes. Stir in lentils, bulgur, rice, coriander, and cinnamon and simmer until cannellini are very tender and lentils fall apart, about 45 minutes. (Old beans may take longer to cook.)
Preheat oven to 450°F.
In a shallow baking pan toss together onions, oil, salt, and cayenne and roast in middle of oven, stirring occasionally, until golden brown, about 20 minutes. Stir onions and parsley into soup and simmer 1 minute.
Each serving about 429 calories and 8.25 grams fat (17% calories from fat). Nutritional analysis provided by Gourmet