If using whole fish, gut and scale it, then cut off heads and the center back fins. If using fillets, cut into 4 to 6 pieces. Rinse fish in cold water and dry thoroughly with paper towels.
Pour enough oil into the skillet to reach about 1 inch (2.5 cm) up the sides and heat over medium-high. When hot, dredge fish on both sides in flour and place in the pan. Do not crowd the pan; fry in batches if needed.
Fry about 2 minutes per side, until both sides form a nice brown crust.
Using a slotted spoon or spatula, move fish to a shallow platter that fits it in a single layer without overlapping. Season with salt and a few grindings of pepper.
Discard half the oil from the skillet. Add the onion and cook over medium-low, stirring occasionally, until tender but not colored.
Add vinegar, raise the heat, stir quickly, and let it bubble for about 30 seconds. Pour skillet contents over the fish and top with bay leaves.
Cover the platter with foil or another platter and steep at least 12 hours before serving, turning fish once or twice. If serving within 24 hours, it does not need refrigeration. If refrigerated, it keeps several days; bring to room temperature 1 to 2 hours before serving.