Put the fish steaks into a large, china dish.
Add the onion, garlic, ginger, cumin, ground coriander, chilli and turmeric to a bowl. Add the lime or lemon juice and oil, season with salt and pepper and mix together.
Spoon the onion marinade over the fish, using your hands to coat the fish thoroughly on both sides. Cover and marinate in the refrigerator for 3–4 hours.
Preheat the grill and line the rack with foil. Transfer the fish, skin side down, and marinade to the foil and then grill for 8–10 minutes until the fish is lightly browned and flakes easily when pressed with a knife. Serve with lime or lemon wedges and rice.