How to Make It
Melt the butter in a large saucepan. Add the onion, celery, garlic and ginger and cook over moderate heat until softened, about 5 minutes. Add the coriander seeds, crushed red pepper, cardamom, star anise, peppercorns, cilantro and basil sprigs and lime leaves and cook for 1 minute. Add the wine and cook over moderate heat until reduced by half, about 5 minutes. Add the fish sauce, lime juice and water and bring to a boil. Simmer over moderately low heat for 15 minutes. Strain the broth into a small saucepan, season with salt; keep warm.
In a small skillet, combine the cumin, cardamom, coriander, fennel and star anise and toast over moderately high heat until fragrant, about 1 minute. Transfer to a spice grinder and let cool, then grind to a fine powder.
In a medium skillet, heat 2 tablespoons of the oil. Add the onion and cook over moderate heat, stirring occasionally, until softened and just beginning to brown, about 5 minutes. Add the ground spices and cook over low heat for 1 minute. Fold in the crabmeat, cilantro and lemon and lime juices and remove from the heat. Season with salt and pepper.
In each of 2 large nonstick skillets, heat 1 1/2 tablespoons of the remaining oil until shimmering. Season the snapper with salt and pepper; add to the skillets, skin side down. Cook over high heat, gently shaking the skillet, until the skin is golden brown and crisp, 5 minutes. Flip the fillets and cook for 2 minutes longer.
Mound the spiced crab mixture in warmed shallow bowls and top with the snapper fillets, skin side up. Spoon the broth all around and serve right away.
You can substitute two 1-inch strips of lime zest for the kaffir lime leaves.