Classic Peruvian-Style Fish Ceviche

A recipe and primer on the best way to "cook" fish in an acidic, flavor-packed marinade.

By
J. Kenji López-Alt
Kenji Lopez Alt
Culinary Consultant
Kenji is the former culinary director for Serious Eats and a current culinary consultant for the site. He is also a New York Times food columnist and the author of The Food Lab: Better Home Cooking Through Science.
Learn about Serious Eats' Editorial Process
Updated August 06, 2024
Photo showing slices of fish on a black background marinated in lime juice for various amounts of time. Starting from the left, slices are marinated for 0, 1, 2, 5, 10, 15, 30, 60, 90, and 120 minutes.

Serious Eats / J. Kenji López-Alt

Why It Works

  • Using the marinating times chart as a guide, this recipe allows you to dial in the final texture of your ceviche.

Sashimi and crudo may be the John and Paul of the raw seafood band, but ceviche is the George. A little less popular, a little less flashy, but altogether more complex, sharper, with a bit of acid. It differs from George in one key way though: It's really easy to get into.

It comes in on the upper half of the Top 100 Easiest Dishes to Make Of All Time, and I'd bet good money that it's #1 for Most Impressive Return For Your Time Investment. It's a dish that looks and tastes elegant, yet is quite literally thrown together in a matter of moments.

Though the origins of the dish are not precisely known, with folks citing everything from Polynesia to Spain, the mostly likely true origins are Peru. Indeed, El Pais reports that archaeological evidence shows native Peruvians were eating a dish very similar to modern ceviche as far back as 2,000 year ago. Peru remains the country most closely tied with ceviche, though you'll find it and its variants all along the South and Central American coasts.

Even the word itself is shrouded in mystery. It bears resemblances to escabeche, Spanish for pickle (as does the dish), as well as sakbaj, Arabic for vinegar-cooked meat, and even with siwichi, the original name for the dish spoken in Quechua one of the native languages of the region.

But I think I'm getting a bit ahead of myself here.

First off, what exactly is ceviche? At its most basic, it consists of slices or chunks of raw fish (or sometimes shellfish) tossed with an acidic marinade, most commonly plain citrus juice. As the pieces of fish sit in the marinade, the citric acid from the juice slowly causes the flesh's proteins to denature, in very much the same way that heating will. The result is raw fish with the opaque appearance and firmed texture of cooked fish.

Tart, bright, and refreshing, the fish should be firm on the exterior, but with a tender, translucent center that gives as you bite into it. Flavorings run the gamut from passionfruit juice and mint to fried shallots and coconut milk to just plain lime juice, but the most traditional Peruvian version is made with sea bass marinated in bitter orange or lime juice and flavored with thinly sliced red onion, hot chiles, and perhaps some herbs. It all comes on a big platter along with chunks of corn on the cob (or perhaps large nuggets of fried Cuzco corn—A.K.A. Corn Nuts), and sweet potatoes.

It's an exceedingly simple dish to make once you understand a few of the principles involved, and there's only a couple of small difficulties involved. Getting perfectly fresh fish (and it must be perfectly fresh), and knowing exactly how long to let it marinate. Eat it too soon, and you end up with fish that's nearly raw. Let it sit too long, and your fish turns dry and chalky as the acid works its way into the flesh. So what's the best way to make sure your ceviche has perfect texture? Let's see if we can figure it out.

Gone Fishing

Closeup of a raw skin-on fish fillet laid out on a cutting board.

Serious Eats / J. Kenji López-Alt

First and foremost, ceviche must be made with the absolute freshest seafood available. Fish is traditional, but shrimp, scallops, even squid will work just fine. Just make sure it's fresh.

Because seafood lives in, well, the sea, the bacteria and enzymes naturally present in it are used to operating at much much colder temperatures than those in, say, a cow. Because of this, even at regular fridge temperatures, they multiply much faster than bacteria from land-dwelling animals, which is what causes seafood to spoil so much faster than its terrestrial counterparts. With perfect care, fish can be stored for several days before it starts to go over the peak, but still, the fresher the better.

Here's how to select the best fresh fish.

  • Go to a trusted source. The best is obviously to catch it yourself, or if you're lucky, have a dad who likes to go fishing for stripers three or four times a week (thanks, Dad). Next best is a dedicated fishmonger. Look for shops that are clean, busy, and scrupulous about their fish. If you see fish hanging out in pools of melted ice, chances are, the fishmonger doesn't care much about freshness. Fish should always be stored on top of and under crushed ice, or in refrigerated display cases on top of ice. If the fish is treated roughly, folded in half, stacked haphazardly, you might want to think twice.
  • To reduce the chance of parasites, choose fish that has been flash-frozen. Ceviche requires extremely fresh fish that has been gutted quickly and kept on ice since the moment it was caught. If you can, try to source fish that was flash-frozen at the point of catch. (Flash-freezing eliminates the risk of certain parasites.) Though "sushi-grade" is not an FDA-regulated term, it's still a helpful phrase when talking to a fishmonger about your needs when shopping—a good seafood clerk should be able to steer you to your best options with that in mind.
  • Follow your nose. Fresh fish should not have a fishy smell at all, at most giving off a faintly briny, ocean-like aroma. The same rules apply for shrimp, scallops, squid, and other shellfish. If your fishmonger won't let you smell his fish, find a new fishmonger, or eat burgers instead.
  • Look for firm flesh. Fresh fish flesh should have a clean, slightly translucent appearance that doesn't give when you push. If you poke it with your finger and leave a permanent dent, the flesh has most likely started to decompose.
  • Look it in the eye. Fresh fish should have bright, clear, moist looking eyes. Avoid fish with dark eyes or eyes that have a cloudy film over them.
  • Check the gills. They should be bright red and distinct. If they are brownish or have begun to stick together, the fish has been out of the water for far too long.

Virtually any fish will work for ceviche, but I prefer to use semi-firm, white-fleshed ocean fish such as sea bass, striped bass, grouper, or flat fishes like sole or flounder. The key is not to get locked into one fish before you get to the market—whatever is freshest is what you should go with, even if it's not what you originally planned. The exception are certain types of fishes in the mackerel family, such as mackerel, sardines, or tuna. Other oily fishes like bluefish or jack don't make the best ceviche either, nor do freshwater fish like trout or catfish.

For ceviche, you don't need skin, so ask your fishmonger to remove it for you, or if you've got the skills, do it yourself at home.

Once You've Got It Home

Bagged fish fillets sandwiched between cold packs.

Serious Eats / J. Kenji López-Alt

Like disagreeing with your wife, the absolute best way to store fish is to not do it at all. Catch it or buy it, then cook it immediately. If you've absolutely got to hold it, you might think that tossing it in the refrigerator is good enough. Think again. At normal fridge temperatures (around 38°F or 3°C), fish will decompose noticeably even overnight. So how do you keep it even cooler? With ice.

Here's what you do: Line a shallow plastic tray or a plate with a couple of frozen ice packs or a layer of ice cubes, then place a layer of plastic wrap directly over them to cover. Lay your fish straight onto the plastic in a thin, even layer (be gentle!), cover with another piece of plastic, then top them off with a couple more ice packs. Store this whole get-up on the bottom shelf of your fridge, right at the back. This should keep your fish down to at least 32°F (0°C). Ultra-fresh fish can be kept like this for up to two or three days, but any longer is pushing it.

I like to keep my fish on ice the same way while working with it, placing the tray with the ice packs directly on my counter. That way, your fish will stay cold even at room temperature for several hours.

How to Slice Fish for Ceviche

Slices of raw white-fleshed fish on a cutting board, flanked by a chef's knife.

Serious Eats / J. Kenji López-Alt

There are a few theories as to how to cut fish for ceviche. Some like to cut it into paper-thin slices, others into corn-kernel-sized nuggets. I prefer my slices slightly thicker. One of the joys of really great ceviche is the contrast between the exterior and the center of the fish.

"Consider each slice of fish to be like a little steak. You want a well-cooked exterior layer, but plenty of rare to medium-rare meat in the center."

Consider each slice of fish to be like a little steak. You want a well-cooked exterior layer, but plenty of rare to medium-rare meat in the center. Quarter-inch slices are just about perfect for me—any thinner and they cook too fast, any thicker, and the outer layers get completely overcooked before they've cooked deep enough.

Marinating Times

Photo showing slices of fish on a black background marinated in lime juice for various amounts of time. Starting from the left, slices are marinated for 0, 1, 2, 5, 10, 15, 30, 60, 90, and 120 minutes.

Serious Eats / J. Kenji López-Alt

But what exactly is the ideal marinating time? I decided to find out, marinating slices of fish everywhere from one minute and up to two hours. The photo above shows slices of fish marinated in straight lime juice (pH of about 2.5) for various amounts of time. From left to right, we've got:

Ceviche Marinating Times, Compared
 Elapsed Time in Marinade Ceviche Texture
 0 minutesFish is completely raw. Slippery texture, like sashimi (I mean, it is sashimi).
 1 minute Fish is strongly flavored, but still essentially raw. No noticeable difference in texture yet.
 2 minutesVery exterior of fish is starting to show some textural changes.
 5 minutesDefinite textural changes in fish, with a pleasing firmness to the exterior. Not ideal yet.
 10 minutesFor my taste, this is where it begins to become ideal. Nicely firm on the outside, but still tender and moist in the interior.
 15 minutesEven better.
 30 minutesStill good, bordering on too cooked.
 1 hourOvercooked. The acid has begun breaking down the connective tissue in between the layers of the flesh, which causes it to start falling apart.
 1 1/2 hoursThe fish breaks into distinct chunks with even the slightest poke from a finger or fork.
 2 hoursCompletely gone. Fish has spontaneously started to break apart even without touching it. It's cooked through to nearly the center, with a chalky, dry texture.
Closeup of two slices of fish. One, still translucent, looks raw. The other, opaque and flaked out, was marinated for 2 hours.

Serious Eats / J. Kenji López-Alt

"Anywhere from the 5 minute to 30 minutes range is in edible-to-great territory."

So as you can see, ceviche has got a pretty limited lifespan. Anywhere from the 5 minute to 30 minutes range is in edible-to-great territory. Below that is fine if you're into the slipperier texture of sashimi, but you don't want to go for any longer, lest your fish turn dry and chalky.

There are, of course, those who prefer their fish this way, sometimes even letting their fish marinate overnight. I can accept that, about as much as I can accept those who prefer to have their meat cooked well-done. Just don't do it to my fish. I've been to restaurants that do this, though one would assume that in those situations it's more about ease of storage and expedience of service than the ultimate in taste.

Cross section of 2-minute and 30-minute slices. The latter is more opaque.

Serious Eats / J. Kenji López-Alt

There's not all that much reason for having this photo in here, other than the fact that it illustrates just how much like cooking with heat the "cooking" with acid in a marinade is really doing. Just like cooking a steak over a high flame, the cooked zone slowly works its way into the fish. I like my steaks medium to medium-rare, and I feel the same way about my ceviche—the core should still be translucent.

Ceviche Flavorings

Closeup of diced green chile, thinly sliced red onion, and chopped cilantro arranged in neat rows.

Serious Eats / J. Kenji López-Alt

Here's where the fun begins. Your imagination, or more realistically, your palate are the only things stopping you here. I usually like to go the traditional route, with super-thin sliced onions (you can use a mandoline to help if you want), and jalapeño peppers from which I've removed the seeds and ribs so that I can add a ton of them. See, the heat in a pepper comes from capsaicin, a chemical that's mostly stored in the ribs and seeds. Remove them, and you can add a ton of pepper, giving you real jalapeño flavor in each bite, instead of just blinding heat.

Sometimes I'll use sour orange juice along with some smoked paprika and chopped olives. For these days, a can of good Spanish octopus might find its way alongside my fish as well. Other times, I prefer to take a Southeast Asian route, adding fish sauce, coconut milk, and perhaps a bit of chopped lemongrass, galangal, or makrut lime leaf. Or if my wife is around, I'll add some passionfruit juice and sub out the cilantro for another herb—perhaps chives or just sliced scallions (my wife is one of the strange ones who can't stand cilantro).

You get the picture.

A heap of ceviche served in a shallow bowl.

Serious Eats / J. Kenji López-Alt

If any of you've got some great flavoring ideas for ceviches, I'd love to hear them in the comments. Oh, also, if anyone can think of who Ringo'd be in the raw seafood band, I'm all ears.

July 2011

Recipe Details

Classic Peruvian-Style Fish Ceviche Recipe

Prep 5 mins
Active 5 mins
Marinating Time 5 mins
Total 10 mins
Serves 4 to 6 servings
Cook Mode (Keep screen awake)

Ingredients

  • 1 pound fresh ocean fish such as sea bass, grouper, or striped bass, cut into 1/4-inch slices (see note)

  • 1/2 cup lemon, lime, or sour orange juice, or a combination

  • 1 small red onion, finely sliced

  • 1/4 cup chopped fresh cilantro leaves

  • 1 to 2 jalapeño peppers, ribs and seeds removed, rinsed, and finely minced

  • Kosher salt and freshly ground black pepper

Directions

  1. Combine fish, juice, onion, cilantro, and jalapeño in a large bowl and gently fold with your hands to combine. Season to taste with salt and pepper. Allow to marinate for at least 5 minutes, folding occasionally. (See chart and image above for marinating time guidance.) Transfer to a serving platter and serve immediately with boiled corn and sweet potatoes, if desired.

Notes

Use the freshest fish available. Medium shrimp or scallops cut into 1/2-inch chunks can be substituted for fish.

Read More

Nutrition Facts (per serving)
104Calories
2gFat
3gCarbs
18gProtein
×
Nutrition Facts
Servings: 4 to 6
Amount per serving
Calories104
% Daily Value*
Total Fat 2g3%
Saturated Fat 1g3%
Cholesterol 40mg13%
Sodium 171mg7%
Total Carbohydrate 3g1%
Dietary Fiber 0g1%
Total Sugars 1g
Protein 18g
Vitamin C 11mg57%
Calcium 16mg1%
Iron 0mg2%
Potassium 300mg6%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

More Serious Eats Recipes