1.Heat oil in a Dutch oven over medium heat. Add onions and celery; cook, stirring often, until softened, 5 to 8 minutes. Add garlic, cinnamon and allspice; cook, stirring, for 1 minute. Add bulgur and stir for a few seconds. Add broth, bay leaf and salt; bring to a simmer. Reduce heat to low, cover and simmer until bulgur is tender and liquid has been absorbed, 15 to 20 minutes.
2. Meanwhile, combine dried cranberries and orange juice in a small microwave-safe bowl. Cover with vented plastic wrap and microwave on high for 2 minutes. (Alternatively, bring dried cranberries and orange juice to a simmer in a small saucepan on the stovetop and remove from heat.) Set aside to plump.
3. When bulgur is ready, discard bay leaf. Add cranberries, toasted hazelnuts, parsley and pepper; fluff with a fork.