A forkful of ceviche brings together cool white fish, crisp red onion, chile and lime. The citrus gives the fish a delicate firmness, while the dressing keeps every bite lively. This version uses a short lime rest and serves the fish with just enough of that seasoned liquid to coat it.
Ceviche has many Latin American variations. This ceviche recipe is a simple, Peruvian-influenced fish preparation that you can serve with cooked corn and sweet potato, or on Mexican-style tostadas with avocado. The ceviche itself takes about 35–45 minutes, starting with fish that is already thawed and ready to prepare; cooked sides take additional time.
Before you begin: this recipe uses raw fish. Lime changes the fish’s texture but does not reliably kill harmful bacteria or parasites. Buy fish from a supplier who can explain its handling and suitability for raw consumption; risk remains even with careful sourcing. Pregnant people, children, older adults and people with weakened immune systems should avoid raw seafood. Prefer cooked fish? Use the fully cooked variation.
Jump to recipe · Choosing fish · Lime timing · Troubleshooting · Cooked version
Classic Fish Ceviche Recipe
Prepare the onion, chile and lime before cutting the fish. Once the citrus touches the fish, the timer starts.
Before starting: If the fish is frozen, thaw it completely in the refrigerator—often overnight or longer, depending on thickness. For sourcing and thawing details, see the frozen-fish guidance. Thawing time, homemade tostadas and cooked sides are not included in the total above.
Ingredients for Fish Ceviche
- 500 g (about 1 lb 2 oz) firm white fish, prepared weight after removing skin, bones and trimmings. Corvina, snapper and firm-fleshed sea bass are good culinary choices when appropriately handled for eating raw. If you’re deciding between varieties, see the fish comparison.
- 150 ml freshly squeezed lime juice (½ US cup + 2 tbsp, roughly 5 US fl oz), strained. Usually about 5–8 medium limes, depending on how juicy they are.
- 45 g peeled red onion (roughly ⅓ cup, loosely packed), very thinly sliced.
- 5–10 g fresh serrano or jalapeño chile, finely chopped. Start with less if the pepper is hot; serranos can be much hotter than jalapeños.
- 10 g cilantro leaves and tender stems, washed, dried and chopped (a small handful).
- 3 g fine sea salt to start, plus up to 1 g more to adjust after draining (about ½ tsp to start for some fine salts; spoon weights vary).
- For serving, optional: cooked corn, sweet potato, avocado, tostadas, tortilla chips or lime wedges. Homemade corn tortillas can be crisped into tostadas.

Use a measuring cup for the lime. The amount of juice varies from fruit to fruit, so measure 150 ml rather than relying on the lime count.
Making a Half Batch
For two generous appetizer portions, use 250 g fish, 75 ml lime juice (¼ US cup + 1 tbsp), 20–25 g onion, 2–5 g chile, 5 g cilantro and 1½ g fine salt to start (roughly ¼ tsp of some fine sea salts; adjust to taste). Keep the cube size and refrigerated contact time the same. Return 15–30 ml of the citrus dressing at the finish.
Equipment
You’ll need a sharp knife, clean nonporous cutting board, scale, measuring cup, citrus juicer or strainer, a nonreactive glass or stainless-steel bowl or shallow dish, and a slotted spoon. Choose a vessel with enough room to turn the fish without crushing the cubes. Keep the refrigerator at 4°C / 40°F or colder. A chilled serving bowl is nice but optional; the cooked variation requires a food thermometer.
How to Make Ceviche at Home
1. Prepare the onion, chile and lime
Slice the onion as thinly as you can and chop the chile. If the onion is especially sharp, soak it in cold water for 5 minutes, then drain and dry it. Chop the cilantro and refrigerate it for the finish.
Squeeze and strain the limes until you have 150 ml juice. Have the mixing bowl ready before bringing out the fish.
2. Trim and cut the fish
Take the fish from the refrigerator when you’re ready to work. If it was previously frozen, it should already be fully thawed; drain any released liquid and pat the fillet dry before cutting.
Remove skin, pin bones and tough pieces. Weigh 500 g after trimming, cut into even 12–15 mm (about ½-inch) cubes, and transfer them to the bowl. Wash the board, knife and other contaminated surfaces with hot, soapy water afterward; do not use them for ready-to-eat toppings without cleaning them first.

3. Add salt, onion, chile and lime
Sprinkle the fish with 3 g fine sea salt and turn to distribute it. Add the onion and chile, pour in all 150 ml lime juice, and fold carefully to coat the pieces without breaking them.
The fish does not have to sit completely submerged. The measured juice should coat the cubes well, and you’ll turn them during the refrigerated rest so surfaces above the liquid also receive contact. Start the timer when the lime first touches the fish. Wash your hands after handling raw seafood and use clean utensils for the ready-to-eat ingredients.

4. Refrigerate for 15 minutes
Cover and refrigerate at 4°C / 40°F or colder. At about the halfway point, turn the fish so the pieces are coated again.
After 15 minutes, the outside will often look paler and feel firmer while the center stays tender, sometimes translucent. The cubes should hold together when lifted. For a slightly firmer bite, leave them for up to 5 more minutes. Changes in color and texture do not prove raw fish is safe to eat.

5. Finish with cilantro and a little dressing
Lift the fish, onion and chile into a clean serving bowl with a slotted spoon, leaving most of the lime behind. Fold in the cilantro. Return 2 tbsp (30 ml) of the seasoned citrus dressing, then taste a piece with some onion. Add up to 2 tbsp (30 ml) more, a spoonful at a time, if you prefer a juicier finish.
You’ll have returned 30–60 ml of dressing; the fish may release a little more liquid of its own. Taste for salt and add a pinch, up to 1 g more for the full batch, if needed. Discard the remaining fish-contact marinade rather than saving it for another dish.

6. Serve while cool
Divide the ceviche into four generous appetizer portions, or two main-course servings with sides. Serve with corn and sweet potato, or spoon it onto tostadas just before eating. Avocado or homemade guacamole brings a creamy contrast to the lime. For more combinations, browse the serving ideas.

Which Fish Is Best for Ceviche?
Choose corvina, snapper or another firm white fish only when the supplier can explain its suitability for raw consumption. Flavor and texture are one decision; handling for raw use is another. If your fishmonger cannot give a clear answer about raw use, make the cooked variation instead.
Corvina is an excellent culinary choice for a short citrus rest: it is mild and holds neat cubes well. Snapper has a delicate flavor; sea bass can work, although the exact species affects its texture. Halibut flakes more readily, while mahi-mahi makes a firmer, more assertive bowl.
| Fish | Flavor and texture | What to expect |
|---|---|---|
| Corvina | Mild, lean and firm | Neat cubes with a tender bite |
| Snapper | Mild and slightly sweet | Delicate flavor; good structure |
| Sea bass | Mild; varies by species | Choose firmer-fleshed varieties |
| Halibut | Lean, large-flaked | Handle carefully to avoid crumbling |
| Mahi-mahi | Firm; stronger flavor | A meatier bite |

How to Buy Fish for Raw Ceviche
Tell the fishmonger exactly how you plan to use it: “I’m making ceviche and will serve the fish raw. Is this particular fish supplied for that use?” Ask for its species, how it has been kept cold, and whether the supplier can verify any applicable parasite-control measures or exemptions.
“Fresh” and “sushi-grade” are not enough on their own; “sushi-grade” is not a uniform US safety certification. Look for firm, moist flesh without obvious discoloration or strong fishy or ammonia-like odors, but remember that appearance and smell cannot establish microbial safety. If sourcing is uncertain, choose cooked fish.
The FDA’s seafood safety guidance explains that freezing helps control some parasites but does not eliminate every harmful microorganism.

Can You Use Frozen Fish for Ceviche?
Yes, provided the supplier can verify appropriate handling for raw consumption. A package labeled “frozen” does not, by itself, tell you which parasite controls were followed. Thaw in the refrigerator, not on the counter. Allow enough time before you plan to make the recipe; thawing is separate from its 35–45-minute preparation.

Can You Use Tilapia?
Tilapia is mild, but freshwater fish can carry different parasite risks. The CDC’s guidance on gnathostomiasis describes risks from contaminated raw or undercooked freshwater fish; citrus marination is not a reliable safeguard. Use the fully cooked variation for tilapia.
How Long Should Ceviche Marinate?
For the 12–15 mm (½-inch) cubes used here, 15 minutes in the refrigerator gives a paler, lightly firmed exterior and a tender center. Five more minutes produces a somewhat firmer bite. This timing is a texture preference for this particular cut, not a universal ceviche rule.
Some Peruvian preparations are tossed with citrus and served within minutes; other styles use longer contact, different cuts or more seasoned serving liquid. Thin slices change faster than thick cubes.

Why does ceviche turn pale? Acid changes proteins in the fish’s outer layers. That visual change does not mean the fish has been cooked with heat or made microbiologically safe.
Fresh Lime, Bottled Lime or Lemon?
Fresh lime gives the fragrance intended for this recipe. Plain, unsweetened bottled lime juice can work in the same measured amount, although it may taste sharper or flatter depending on the brand.
Lemon gives a different result. In parts of Latin America, the word limón refers to a small green citrus fruit called a lime in English; green limes are the intended ingredient here.
How to Keep Ceviche Bright, Not Too Sour
Limes vary in sharpness. After transferring the fish, start with the smaller amount of reserved dressing and taste a piece with some onion. Add more only if you want a stronger citrus presence; sometimes a pinch of salt does more for the balance than another spoonful of juice.
The initial lime contact begins changing both the texture and flavor of the fish. Draining most of the liquid then lets you control how much seasoned citrus surrounds it at serving. The remaining dressing can continue affecting the surface, so serve this short-contact version promptly.
Ceviche Troubleshooting: Common Problems and Real Fixes
Some ceviche problems can be adjusted before serving, while others cannot be reversed. First identify whether the problem is the fish’s texture or its seasoning; the guides below explain what to do now and what to change next time.
Ceviche Texture Problems: Mushy, Chalky or Watery Fish
Start with the fish itself: cubes that hold their shape are different from those that smear or crumble. Excess liquid can be drained, but lime cannot restore damaged texture.

| Problem | Likely cause | What to do |
|---|---|---|
| Mushy or chalky | Likely causeLong citrus contact, delicate fish or thawing damage | What to do Now: The original texture cannot be restored. Discard the fish if it was also mishandled or shows spoilage. Next time: Choose firm fish, keep the pieces evenly sized, and shorten the citrus contact for delicate varieties. |
| Too watery | Likely causeThawing liquid, retained marinade or watery vegetables | What to do Now: Drain surplus liquid with a slotted spoon, without squeezing the fish. Next time: Dry thawed fish before cutting and add diced tomato or cucumber only near serving. |
| Uneven texture | Likely causeUnequal cube sizes or uneven citrus contact | What to do Now: Serve promptly; extending the entire batch may overfirm pieces that are already ready. Next time: Cut similar cubes and turn them midway through the refrigerated contact. |
Ceviche Flavor Problems: Sour, Bitter, Spicy or Bland
Taste a piece of fish and a little dressing separately before adjusting the bowl. A sharp liquid, a bitter squeeze of lime and an underseasoned fish cube need different solutions.

When Ceviche Is Too Sour or Bitter
| Problem | Likely cause | What to do |
|---|---|---|
| Too sour | Likely causeToo much retained dressing or unusually sharp limes | What to do Now: Lift the fish out of the excess liquid and taste it with less dressing. Avocado or cooked sweet potato can add contrast, but they cannot remove acidity already absorbed. Next time: Taste the limes first and adjust how much dressing you retain. |
| Bitter | Likely causePeel oil, pith or a bitter chile | What to do Now: Remove as much bitter liquid as practical; extra sugar will not remove the source. Next time: Avoid crushing peel or pith; strain the juice and taste the chile. |
When Onion, Chile or Seasoning Overpowers the Fish
| Problem | Likely cause | What to do |
|---|---|---|
| Onion dominates | Likely causeThick slices, too much onion or an unusually sharp onion | What to do Now: Remove some onion and taste again. Next time: Slice more thinly or soak pungent onion briefly in cold water before mixing. |
| Too spicy | Likely causeA stronger-than-expected chile | What to do Now: Remove visible chile and some of the chile-heavy dressing; serve with a mild side. Next time: Taste the chile first; serrano and jalapeño can vary widely in heat. |
| Bland | Likely causeToo little finishing salt or mild aromatics | What to do Now: Add a pinch of salt, taste, then adjust cilantro or chile if necessary. Next time: Remember some seasoning leaves with the drained citrus; finish seasoning after draining. |
When not to salvage ceviche: Discard fish that smells spoiled, shows other signs of spoilage or has been held at unsafe temperatures. More lime or seasoning cannot make mishandled seafood safe.
For another batch, compare the cutting method with the dressing step to prevent the problem you encountered.
How to Make Ceviche With Fully Cooked Fish
Fully cooked white fish makes a good citrus-dressed alternative, with a softer, flakier bite and the same fresh onion, chile and cilantro. It is also the appropriate choice when someone at the table should not eat raw fish.
Allow extra time: Cooking and chilling are not included in the raw version’s 35–45 minutes; the time required depends on fillet thickness, portion size and refrigerator conditions.
Cook, Chill and Dress the Fish
- Cook: Begin with 500 g trimmed, skinless, boneless white-fish fillets, weighed before cooking. Steam or gently poach until the thickest part reaches 63°C / 145°F on a food thermometer. Cooking time varies with thickness. The finished fish weighs less than the starting amount because it loses moisture.
- Chill: Transfer the cooked fish promptly to a clean, shallow food-safe container and refrigerate until cold. Don’t leave it standing at room temperature. Cut or flake it into bite-size pieces once chilled.
- Dress: Combine 45 g thinly sliced red onion, 5–10 g chopped chile, 10 g chopped cilantro, 60 ml (¼ US cup) lime juice and 2 g fine sea salt to start. Fold through the chilled fish and taste; add more salt or lime only if needed. Unlike the raw version, this dressing stays in the bowl.
- Serve: Spoon into bowls with corn, sweet potato or tostadas. It yields roughly the same number of servings as the raw recipe, although the cooked fish’s finished weight and texture will differ.

What to Serve With Ceviche
Peruvian-Inspired Ceviche With Corn and Sweet Potato
Serve the lightly dressed fish with cooked corn and sweet potato. Their natural sweetness complements the lime, and the plate is satisfying without needing a heavy sauce. Roasted sweet potatoes are a caramelized alternative to the more traditional simply cooked version.

Mexican-Style Ceviche Tostadas
Spoon the cold ceviche onto crisp tostadas just before eating and finish with avocado. For a more vegetable-forward version, fold diced tomato or cucumber into the fish right before serving so they don’t water down the dressing.
You can crisp cooked corn tortillas in a lightly oiled skillet over medium heat, turning until golden and firm, then let them cool. Pico de gallo fits alongside this style. For a larger spread, serve Mexican rice, or offer fish tacos as a separate hot main.

Why Restaurant Ceviche Can Taste Different
Restaurant ceviche can vary substantially by region. Peruvian leche de tigre (“tiger’s milk”) is often a more intensely seasoned citrus preparation involving chile, aromatics and fish juices; some versions blend in fish trimmings. Ají limo can give a different chile flavor from the serrano or jalapeño in this recipe. Ecuadorian styles may be served with more seasoned liquid, while Mexican-style tostada versions often include vegetables such as tomato or cucumber.
If you want a more Peruvian-style chile flavor, try ají limo in place of the serrano or jalapeño. For the tomato-and-avocado tostada style, add those ingredients at serving. Different versions are meant to taste different; you don’t need to combine every regional ingredient in the same bowl. For this article’s lighter approach, revisit the finishing step.

Other Easy Variations
Radish or jicama adds crisp texture, though neither has onion’s pungency. Flat-leaf parsley can stand in for cilantro when necessary, with a different flavor. For a sweet contrast without mixing fruit into the fish, serve mango salsa and chips separately.
Can You Make Ceviche Ahead? Storage and Leftovers
For guests, prepare the accompaniments ahead and make the raw ceviche near serving time. Slice the onion, chop the chile, wash and dry the cilantro and refrigerate them separately. Prepare the tostadas and cook the corn or sweet potato in advance. Keep the fish cold and begin its citrus contact shortly before the meal.
Serve small portions and replenish them from the refrigerator rather than leaving a large bowl on the table. Keep seafood and other perishables at 4°C / 40°F or colder. Discard perishable food left unrefrigerated for more than 2 hours, or 1 hour above 32°C / 90°F.

Can you keep leftover raw ceviche overnight? For this version, plan to eat it the day it is made. Refrigeration slows microbial growth but does not remove the risks associated with raw fish, and continued citrus contact changes the texture. Do not assume that a universal number of refrigerated days guarantees safety; discard any fish improperly stored or showing signs of spoilage.
Which fish did you use for your ceviche, and did you serve it with corn and sweet potato or on tostadas?
