This is a straightforward Peruvian ceviche — raw white fish, fresh lime juice, chili, red onion, and cilantro, ready in about 40 minutes with no cooking required. The whole thing comes together in one bowl, which makes it one of the easiest impressive dishes you can put on the table. If you can find fresh fish and squeeze limes, you can make this.
What makes this version work
Two things matter most here. First, the marinating time: 10 minutes gives you fish that’s still tender and almost silky in the center, while 20 minutes firms it up closer to what most people expect from ceviche. Go past 20 minutes and the texture turns rubbery — the lime keeps working whether you’re watching or not. Second, straining the lime juice before it goes in removes the pulp and bitter pith that can make the marinade taste harsh. Those two steps — timing and straining — are what separate a bright, clean-tasting ceviche from one that’s tough or sour.
About the ingredients
- Fish: Sea bass and snapper are ideal, but halibut works well and is often easier to find. Tilapia is a budget-friendly option — it’s softer, so stick to the shorter 10-minute marinate. Whatever you buy, it must be labeled sushi-grade or sashimi-grade, since it won’t be cooked with heat.
- Ají limo chili: This Peruvian variety is hard to find outside specialty stores. Serrano is the listed substitute and it’s a solid one — similar heat level, widely available. A fresh jalapeño (with seeds removed) works too and is milder, which is useful if you’re serving kids or heat-sensitive guests.
- Choclo (Peruvian corn): Frozen choclo is sold at many Latin grocery stores and is worth seeking out for its starchy, chewy texture. If you can’t find it, frozen or canned white hominy is a closer match than regular sweet corn — the kernels are bigger and less sweet.
- Limes: You need about 8–10 limes for a full cup of juice. Bottled lime juice is not a good substitute here — the flavor is noticeably flat. If limes are expensive, you can replace up to a quarter of the juice with fresh lemon juice without much difference in the final dish.
Common problems and fixes
- Fish turns mushy, not firm: This usually means the fish wasn’t cold enough going in. Chill the fish in the fridge right up until you cut it, and use a chilled bowl. Warm fish breaks down faster in acid.
- Marinade tastes overwhelmingly bitter: Bitter lime flavor almost always comes from squeezing the limes too hard and pressing pith into the juice. Squeeze firmly but stop before the lime collapses — and always strain before adding to the fish.
- Red onion is too sharp and overpowers everything: Soak the sliced onion in cold salted water for 5–10 minutes before adding it to the bowl, then drain. This pulls out the harsh sulfur compounds without losing the crunch.
- Ceviche is watery and bland by the time it reaches the table: Fish releases liquid as it sits. If you’re not serving immediately, drain the excess marinade just before plating and taste for salt — the diluted liquid makes it seem under-seasoned even when it wasn’t.
- Too spicy to eat: Remove all seeds and white membrane from the chili before slicing. If it’s still too hot after marinating, a small pinch of sugar stirred in at the end takes the edge off without changing the flavor profile much. Skip the garnish of extra raw chili on top — not worth the extra heat for most tables.
Keeping and reheating
Ceviche is best eaten the day it’s made, ideally within an hour of finishing the marinate. If you need to hold it, cover and refrigerate for up to 24 hours — the fish will continue to firm up and the flavors will intensify, which some people prefer. Beyond 24 hours the texture degrades noticeably and food safety becomes a real concern with raw fish, so don’t push it. There is no good way to freeze ceviche; the fish turns grainy and waterlogged when thawed. Reheating is not applicable — this dish is always served cold.
Classic Peruvian Ceviche
Equipment
- Chef's Knife
- Cutting board
- Citrus juicer or reamer
- Mixing bowl
- Plastic wrap
Ingredients
For the Base:
- 1 pound fresh firm white fish (like sea bass, snapper, or halibut) skinless and boneless, cut into 1/2-inch cubes
- 1 cup fresh lime juice juice of about 8–10 limes, strained
- 1 medium red onion halved and thinly sliced into julienne
- 1 piece Serrano or ají limo chili thinly sliced, remove seeds for less heat
- 1 clove garlic minced or finely grated
- ¼ cup fresh cilantro finely chopped
- 1 teaspoon sea salt or to taste
For Optional Garnishes:
- 1 small sweet potato boiled, cooled, and sliced
- 1 cup Peruvian corn (choclo) or boiled white corn kernels cooked and cooled
- 4 pieces butter lettuce leaves or small bowls for serving
Instructions
- Begin by cutting the fish into 1/2-inch cubes and place them in a non-reactive mixing bowl. The fish should smell fresh like the sea—if it's overly fishy, it’s not fresh enough for ceviche.
- Add the minced garlic, thinly sliced chili, and red onion to the fish. Stir gently to combine.
- Pour in the freshly squeezed lime juice until the fish is completely submerged. Add the sea salt, stir gently again, and cover with plastic wrap. Refrigerate for 10 minutes for a tender, sashimi-like texture, or up to 20 minutes for a firmer 'cooked' effect.
- After marinating, remove from refrigerator. Gently drain some of the lime juice if the flavor is too intense, then stir in the chopped cilantro.
- Plate by placing a few butter lettuce leaves or small bowls. Spoon the ceviche evenly into the center. Garnish with sweet potato slices and Peruvian corn around the edge.
Notes
- For extra flavor, chill your bowl before preparing the ceviche.
- If chili heat is too strong, rinse slices in cold water before adding.
- Firm white fish works best—avoid oily or overly soft varieties.
- To make it vegetarian, substitute hearts of palm or king oyster mushrooms.
- If you don’t have ají limo, a red Serrano pepper is a close substitute.
Nutrition
Your questions, answered
Does the lime juice actually make the fish safe to eat?
No — acid changes the texture of the fish but does not kill bacteria or parasites the way heat does. That’s why sushi-grade fish is non-negotiable here; it’s been handled and, in many cases, frozen to standards that reduce pathogen risk before it ever reaches your kitchen.
Can I use frozen fish instead of fresh?
Yes, and it’s often the safer and more practical choice. Thaw it slowly in the fridge overnight, then pat it very dry before cutting — excess moisture dilutes the lime marinade and makes the texture soft.
What if I can’t find sweet potato or choclo for the garnishes?
Leave them out — the ceviche itself is complete without them. If you want something on the side, plain tortilla chips or sliced cucumber are easy substitutes that add crunch without requiring an extra trip to a specialty store.
My lime juice came out cloudy and bitter — what went wrong?
Cloudy juice usually means pulp and pith got through, which happens when limes are squeezed too aggressively or the juice wasn’t strained. Always strain through a fine mesh sieve, and roll the limes firmly on the counter before cutting to get more juice with less effort.
If you liked this one
- Authentic Spanish Seafood Paella
- Fresh Lemon-Herb Crab Salad
- Classic Mexican Guacamole
- Creamy Cinnamon Horchata

















































