In a bowl, combine vinegar, lemon juice, 1/2 cup water, sugar, dried chilies, cardamom, garlic, mustard seed, peppercorns, fennel, and coriander.
Add the salmon and mix. Cover and chill at least 2 or up to 5 hours.
Place white and red onions in a nonstick 10- to 12-inch frying pan. Drain marinade from fish into pan. Bring to a boil over high heat.
Lay salmon on onions. Cover; simmer until fish is opaque but still moist-looking in center (cut to test), about 1 minute. Transfer fish and onion mixture to a jar or bowl. Let cool, then cover and chill at least 2 hours or up to 5 days.