1In a large pot, heat the oil over moderately low heat. Add the shallots, ginger, and jalapeños; cook, stirring occasionally, for 3 minutes.
3Add 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.
5Add 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.