Season the fish with salt to taste and place in a pan. Strew the onion rings and herbs over it. Add the water, cloves, allspice, and bay leaf. Bring to a boil and poach, covered, until the fish is done, about 10 minutes.
Meanwhile, heat the oil in a skillet and fry the tomatoes over medium heat with the pepper, cayenne, garlic, and ½ teaspoon salt, breaking up the tomatoes with a fork.