1. In a large pot, heat the oil over moderately low heat. Add the shallots, ginger, and jalapeños; cook, stirring occasionally, for 3 minutes. Add the broth and water; bring to a boil. Reduce the heat and simmer for 5 minutes. Stir in the zests and mushrooms; simmer 5 minutes longer.
2. Add the lime juice, fish sauce, and swordfish to the soup. Cook until the fish is just done, about 2 minutes. Serve sprinkled with the tomatoes and cilantro, if using.
Fish Alternatives: Thai Hot-and-Sour Soup is often made with shrimp. Or, use any moderately firm, skinless steaks or fillets, such as catfish, black sea bass, or pompano, in place of the swordfish.
Asian Fish Sauce: Fish sauce is used as a condiment, much like soy sauce. Either the Thai version (nam pla) or the Vietnamese (nuoc mam) will add great depth of flavor to quick dishes.
Wine Recommendation: The strong flavors here suggest a light white without too much taste of its own. A pinot grigio from Italy will do fine--unless you increase the heat with more jalapeños. Then serve a cold beer.
Notes: Asian fish sauce is available at Asian markets and many supermarkets