1 Peel and coarsely chop shallots and ginger root. Halve dried chile lengthwise and remove seeds. Squeze 2 tablespoons juice from lime. In a food processor, puree shallots, ginger, chile, soy sauce, 1-2 splashes of lime juice and the allspice until smooth.
2 Cut slits in the skin of snapper fillets. Place fish in a bowl, pour shallot mixture over and turn to coat. Cover and let marinate in the refrigerator for at least 4 hours.
3 Peel garlic and finely chop.
4 Mix together garlic, oil, remaining lime juice and curry powder in a small bowl. Season with salt and pepper.
5 Peel sweet potatoes and cut into slices, about 2 cm (approximately 3/4 inch) thick. Dredge in spice mixture.
6 Transfer sweet potatoes to a parchment-lined baking sheet. Bake on middle rack of preheated oven at 200°C (fan oven 180°C, gas: mark 3) (approximately 400°F) until tender, 35-40 minutes.
7 Meanwhile, rinse tomatoes, wipe dry and cut into thick slices.
8 Remove fish from marinade and dab with paper towels to dry.
9 After sweet potatoes have baked for 15 minutes, top with tomatoes and fish, skin side up. Season with salt and pepper. Continue baking until fish is cooked through, about 20 minutes. Sprinkle cilantro over the fish and serve immediately.