Rub the fish fillets with garlic, then place them in a shallow, non-reactive dish. Spoon over the olive oil until they are coated. Place the onion on top and cover. Chill overnight to allow the fish to soak in the marinade.
Preheat the oven to 180 C / Gas 4.
To Bake: Transfer fish to a 20x30cm baking dish along with the olive oil, garlic and onion. Sprinkle the fish with the cayenne pepper. Bake at 180 C / Gas 4 for 30 minutes.
To Grill: Wrap the fish, oil, garlic, onion and pepper in foil. Grill until the fish easily flakes with a fork.