Ceviche Clásico
A classic Peruvian ceviche featuring sashimi-grade fish 'cooked' in lime juice, balanced with sweet potato and choclo.
Contents (5 sections)▾

Ingredients
- 400 g sashimi-grade sea bass, corvina, or flounder, diced
- 150 ml fresh lime juice
- 1 medium red onion, thinly sliced
- 1-2 aji limo peppers, finely chopped
- 1 large sweet potato, cooked and sliced
- 200 g choclo (large corn), cooked and cut from cob
- Salt to taste
Steps
In a glass or ceramic bowl, combine the diced fish with 1 cup of lime juice, ensuring the fish is fully submerged. Let it marinate for 10-15 minutes at room temperature (around 20-22°C or 68-72°F). This is crucial as the acid in the lime 'cooks' the fish.
Add the thinly sliced red onion and aji limo to the fish mixture, stirring gently to combine. Season with salt to taste.
Serve the ceviche immediately, garnishing with slices of cooked sweet potato and choclo on the side for an excellent balance of flavors.
Why this works
Ceviche is a quintessential dish of Peruvian cuisine, where the fish is effectively 'cooked' by the acidity of lime juice. The fish's proteins denature (the acid firms up the proteins much as heat would, changing the texture without heat) in the presence of acid, resulting in a firm texture reminiscent of traditional cooking methods. The combination of the sweet potato and choclo (a large-kernel Andean corn) adds a contrast in texture and flavor that balances the acidity of the lime and the heat of the aji limo (a hot Peruvian chili). Peruvian-style ceviche is quick — 5–10 minutes in lime, not 30+ — to keep the fish from going mushy.
Safety — read this before sourcing fish: Lime juice DOES NOT kill parasites (Anisakis and others). The denaturation it causes is only a textural change. The ONLY safety pathway for raw-fish dishes is the freeze step: fish must have been frozen at −20 °C for 7 days minimum (US FDA standard) before raw consumption. This is what "sashimi-grade" or "sushi-grade" means — a documented freeze history, not just freshness. NEVER use "fresh fish from the market" for ceviche unless you can verify it has been properly frozen. Sea bass, corvina, and flounder all work IF properly frozen. If you cannot confirm the freeze history, do not make this raw.
Common mistakes
Using "fresh" market fish that was never frozen.
Target: Use fish with a documented freeze history — frozen at −20 °C for at least 7 days (US FDA standard) — sold as sashimi- or sushi-grade.
Why it matters: This is the single most important point in the whole recipe. Lime juice denatures (chemically firms) the proteins but does not kill parasites such as Anisakis; only freezing does. "Fresh off the boat" is not the same as safe to eat raw.
What to do: Buy from a supplier who can confirm the fish was frozen to spec for raw service. If you cannot confirm it, cook the fish instead of serving it raw — and note that pregnant, elderly, very young, and immunocompromised eaters should avoid raw ceviche entirely.
Over-marinating until the fish turns chalky and dry.
Target: Marinate the cubes in fresh lime for about 5–10 minutes, Peruvian style — not 30 minutes or more.
Why it matters: The acid keeps firming the proteins the whole time the fish sits in it. Left too long, the flesh goes past pleasantly opaque into rubbery and cottony — the texture Peruvian cooks specifically avoid.
What to do: Cut even cubes so they firm at the same rate, taste at 5 minutes, and serve as soon as the outside is opaque and the inside is still just tender.
Letting the ceviche sit warm or making it ahead.
Target: Keep everything cold — chilled bowl, cold fish — and serve immediately.
Why it matters: Raw fish held warm is a bacterial-growth risk on top of the parasite question. A brief room-temperature marinate is traditional, but a long warm rest is not safe.
What to do: Work quickly, keep everything refrigerator-cold until it meets the lime, and eat it right after mixing. Ceviche is not a make-ahead dish.
Using bottled lime juice.
Target: Use fresh-squeezed lime juice only, enough to submerge the fish.
Why it matters: Bottled juice is flat and often preserved, and it lacks the bright aromatic acid that both firms the fish cleanly and carries the dish's flavor.
What to do: Squeeze the limes just before using them, and combine with the fish only when you are ready to serve.
What to look for
- Fish edges that turn opaque and white and firm up while the centers stay just barely translucent. This is the acid denaturing (chemically firming) the surface proteins — a textural change, not a safety signal. The safety came from the freeze step before the fish ever met the lime, not from the "cooked" look.
- A marinade that turns cloudy and pale — the leche de tigre, or "tiger's milk." This milky liquid means the lime, fish juices, salt, and aromatics have emulsified into the signature Peruvian sauce; it should taste bright, salty, and gently spicy.
- Onion that has softened slightly but still holds a little crunch, on a plate served cold and right away. Ceviche is freshest in its first minutes — a bowl that has sat is both worse in texture and no longer safe to keep.
A note on history
Ceviche is Peru's national dish, with roots that are often traced back before the Spanish arrival. Coastal peoples such as the Moche are commonly said to have cured fresh fish with fermented or acidic fruit juices, and later with the sour tumbo and chicha of the Andes; the limes used today came with the Spanish, who brought citrus and onions from the Old World. Ownership is warmly contested — Ecuador has its own strong ceviche tradition and the two countries disagree about origins — but the quick, lime-marinated, aji-spiked style served with sweet potato and choclo is distinctly Peruvian. In 2004 Peru declared ceviche part of its national cultural heritage.
Get the essays in your inbox — free
Weekly notes on flavor, fermentation, and food history — the writing behind the Atlas of Flavor. No spam; unsubscribe anytime.
