Step 1 Rinse snapper, inside and out, under cold running water. Pat dry with paper towel. Cut 3 slashes, 8cm long and 1cm deep, at 10cm intervals in thickest part of flesh on both sides of snapper. Place each on a baking tray.
Step 2 Heat a frying pan over medium heat. Add pine nuts and cook, stirring occasionally, for 5 minutes or until golden. Transfer to a bowl and set aside.
Step 3 Preheat oven to 180°C. Heat 2 tablespoons of the oil in pan over medium heat. Add onions and cinnamon sticks, and cook, stirring occasionally, for 10 minutes or until onions soften. Add to pine nuts. Add parsley, dates, cumin, coriander, ginger and allspice. Season with salt and pepper. Toss until well combined.
Step 4 Fill each snapper cavity with the onion mixture. Drizzle with remaining olive oil. Roast in preheated oven, uncovered, for 40 minutes or until just cooked through and the flesh flakes when tested with a fork.
Step 5 Transfer to a platter. Serve with lemon wedges and onion filling.