Ceviche (seh-VEE-chay) in Mexico is a party food you eat with your hands: small cubes of raw white fish turned firm and opaque in lime juice, mixed with tomato, onion, cucumber, green chile and cilantro, and piled onto a crisp corn tostada. If you’ve had Peruvian ceviche in a restaurant, this is a different thing. The fish sits in the lime for 20 to 30 minutes instead of 2, half the juice gets poured off, and it’s built to sit on a cracker or tostada rather than in a bowl. The part people get wrong is what the lime is doing, so that’s where this recipe spends its time, along with which fish to buy at a US or UK store and how far ahead you can prep for a crowd.
Is homemade ceviche worth it, and who is it for?
How do you make Mexican fish ceviche? Cut previously frozen firm white fish into half-inch (1.5 cm) cubes, salt them and cover with cold lime juice for 20 to 30 minutes in the fridge, until opaque to the center. Pour off half the juice and fold in diced tomato, white onion, serrano chile, cucumber and cilantro, with avocado last. Serve on corn tostadas. 50 minutes for 4 servings.
Yes, if you can get good frozen fish. It takes 50 minutes, about 25 of them hands-on, with no stove, and 1.1 lb (500 g) of fillet makes 4 appetizer servings or 8 loaded tostadas. With frozen tilapia it’s one of the cheapest seafood dishes you can put on a table.
When it shines. A hot afternoon, a backyard party, a game-day spread, or a seafood table next to a shrimp aguachile and a shrimp cocktail. It scales cleanly to 20 people, and the vegetables can be chopped 4 hours ahead.
When to skip it, or adapt it. If anyone eating is pregnant, a young child, older, or immunocompromised, use the poached version further down. If you want to make it the night before, don’t: the fish keeps firming in the acid.
Honest difficulty, easy. There’s no hard technique. What goes wrong is the shopping (fish that wasn’t kept cold, or a soft fish that turns to mush) and the clock (leaving it in lime for hours “to be safe”).
What lime juice does to raw fish, and what it doesn’t
This is the most important section in the recipe, so it comes before the shopping list.
Acid changes the texture of fish the way heat does. Lime juice denatures the proteins on the surface of the fish, so it turns from glassy to white and firm. That’s why ceviche is often described as “cooked” in lime.
It isn’t cooked in the food-safety sense. In a 2013 study in the Journal of Food Protection, Mathur and Schaffner marinated tilapia in lime juice the way ceviche is made. Vibrio parahaemolyticus dropped below detection limits, but Salmonella on the fish fell only by 1 to 2 log units, which leaves most of it alive. The FDA’s safe cooking temperature for most seafood is 145°F (63°C), and no marinating time gets you there. Longer in lime only makes the fish tougher.
Parasites are a separate problem, and freezing solves it. The FDA’s consumer advice is that if you eat raw fish, a rule of thumb is to eat fish that has been previously frozen, because freezing kills parasites, though it doesn’t kill all germs. For restaurants, the FDA’s guidance is -4°F (-20°C) for 7 days or -31°F (-35°C) for 15 hours. A home freezer runs at about 0°F (-18°C) and can’t be relied on for that, so the practical move is to buy commercially frozen fillets.
Who shouldn’t eat it raw. The FDA lists people who are pregnant, young children, older adults, and anyone with a weakened immune system (transplant patients, people with HIV/AIDS, cancer or diabetes). For a healthy adult, well-sourced frozen fish kept cold and eaten right away carries the same risk as any raw fish dish, sushi included.
What you need, and which fish to buy in the US and UK
Exact amounts are in the recipe card: 1.1 lb (500 g) fish, 1 cup (250 ml) lime juice, 9 oz (250 g) tomato, 7 oz (200 g) cucumber and 1 avocado for 4.
The best fish for ceviche
You want white, lean and firm: a fish that can sit in acid for 25 minutes and still hold a cube. Oily fish turn unpleasant in lime, and soft, flaky fish fall apart.
| Fish | Verdict | Notes |
|---|---|---|
| Tilapia | best everyday choice | sold frozen in nearly every US supermarket; mild, firm enough |
| Red snapper, sea bass, halibut | best texture | very firm and clean; ask the fish counter for skinless fillets |
| Cod, haddock | works, with care | softer flakes; cut 2 cm (¾ in) cubes and check at 15 minutes; UK “frozen at sea” packs are a good buy |
| Swai, basa (pangasius) | avoid | cheapest, but turns mushy in lime |
| Salmon, mackerel | avoid for this style | too oily; save salmon for poke |
Buying frozen. Sealed bag, no frost or ice crystals inside, fillets that are flat and hard. Buying fresh. The FDA’s checklist is a mild, fresh smell, never fishy, sour or ammonia-like, and flesh that springs back when pressed. If you can’t tell when it came in, buy frozen.
Thawing. Overnight in the fridge, or sealed in a bag and submerged in cold water if you’re short on time (FDA). Never on the counter.
Limes, chiles and other swaps
- Limes → regular Persian limes are what you want; you’ll need about 6 for 1 cup (250 ml). Key limes work but you’ll need roughly twice as many. Bottled lime juice tastes cooked and flat; skip it. Lemons give a different, sharper flavor.
- Serrano chiles → in most US supermarkets near the jalapeños. In the UK, try larger supermarkets or Latin and Asian grocers. Jalapeño is the easy swap: milder, so use 2 for every serrano. A fresh green bird’s eye chile works in a pinch; use half of one.
- Plum tomatoes → Roma in the US, plum or salad tomatoes in the UK. Seed them so they don’t water down the ceviche.
- White onion → sharper and crisper than yellow; red onion works and looks nice.
- Tostadas → flat, crisp fried or baked corn tortillas, in the Mexican aisle in the US and online or in larger UK supermarkets. To make your own, brush corn tortillas with oil and bake at 400°F (200°C) for 8 to 12 minutes, flipping halfway, until rigid. Saltine crackers or tortilla chips are the other classic way to eat it, and crisp tostones hold up well too.
Equipment
A sharp knife, a cutting board, and a glass, ceramic or stainless steel dish snug enough that the juice covers the fish. Aluminum reacts with acid and makes it taste metallic. No juicer? Twist a fork inside each lime half. No small dish? A zip-top bag uses less juice to cover the same fish.
How to time it, cut it and know when it’s ready
50 minutes, about 25 hands-on. Fish goes into the lime first; you chop everything else while it cures.
Make-ahead plan.
| When | What |
|---|---|
| The night before | move frozen fish to the fridge to thaw |
| Up to 4 hours ahead | dice onion, serrano, cucumber, cilantro; tomato in a separate container; refrigerate |
| A few hours ahead | cube the fish, no lime yet; cover and keep in the coldest part of the fridge |
| 30 minutes before eating | fish into the lime |
| At serving | drain, fold in vegetables, then avocado |
Cutting the fish
Pat the fillets dry, then trim off any skin, pin bones and the dark bloodline, which tastes strong and doesn’t whiten evenly. Cut half-inch strips, then cubes. Even size is the whole trick: same size means every piece hits the right texture at the same minute. Salt the fish before the lime goes on, ½ tsp for 1.1 lb (500 g).
Cut to ⅜ inch (1 cm) and it’s ready in about 15 minutes. Cut to 1 inch (2.5 cm) and the outside dries out before the center turns.
How long to marinate ceviche
In my kitchen, with half-inch cubes and lime juice straight from the fridge: at 3 minutes only the surface has changed, which is the Peruvian style. At 10 minutes there’s a white rim about 1/16 inch (2 mm) deep and a raw center. Around 25 minutes (anywhere from 20 to 30) the cube is opaque all the way through, firm but still juicy: that’s Mexican ceviche. At 1 hour it’s tough and starting to weep. By 3 hours it’s dry, stringy and falls apart on the tostada. If you like a slightly translucent center, pull it at 15.
How to tell it’s right. Cut a cube in half. The outside should be opaque white with no grey patches, the middle opaque or barely pearly, and it should feel firm, not rubbery, when you press it. The juice turns cloudy and milky; that’s fish protein and it’s normal.
Why you pour off half the juice. It has done its job, and if it all stays, the ceviche is sour and soupy and the tostadas go soft. I discard about ½ cup (125 ml) and keep the rest to dress the tomato and cucumber.
Mexican vs Peruvian ceviche vs aguachile
Three raw seafood dishes cured in lime, often confused, and they’re made and eaten differently.
If you want shrimp instead, aguachile is raw shrimp in a blended green chile and lime sauce, and a Mexican shrimp cocktail uses cooked shrimp in a tomato base and is safe for everyone.
Other versions worth knowing
- Poached ceviche, for pregnancy, kids or older guests → bring 2 liters (2 quarts) of water with 1 tbsp salt to a bare simmer, drop in the cubes for 2 to 3 minutes, until opaque and 145°F (63°C) in the center. Chill in ice water 2 minutes, pat dry, and dress with lime for 5 minutes for flavor only. Slightly firmer; same taste.
- Short on time → cut ⅜-inch (1 cm) cubes and cure 15 minutes.
- Sinaloa style → sierra (Spanish mackerel) chopped almost to a paste, cured longer and squeezed dry, often with grated carrot. Drier and spreadable.
- With ketchup → a common coastal version adds ketchup and hot sauce for a sweeter, red ceviche halfway to a shrimp cocktail. 3 tbsp for this recipe.
- Mixed seafood → 9 oz (250 g) fish plus 9 oz (250 g) peeled raw shrimp in pieces; the shrimp is ready in 15 minutes.
- Vegetarian → 14 oz (400 g) quartered button mushrooms or sliced hearts of palm with the same dressing, 10 minutes. A different dish, same freshness.
How much ceviche for a crowd, and what it costs
I count 4.5 oz (125 g) of fillet per person as an appetizer with other food around (2 tostadas each), and 7 oz (200 g) as a main.
| Ingredient | 4 people | 12 people | 20 people |
|---|---|---|---|
| Fish fillet | 1.1 lb (500 g) | 3.3 lb (1.5 kg) | 5.5 lb (2.5 kg) |
| Lime juice | 1 cup (250 ml), 6 limes | 3 cups (750 ml), 17-18 limes | 5 cups (1.25 l), 28-30 limes |
| Fine salt | 1 tsp | 1 tbsp | 1⅔ tbsp |
| Plum tomatoes | 9 oz (250 g) | 1.65 lb (750 g) | 2.75 lb (1.25 kg) |
| White onion | 3 oz (80 g) | 8.5 oz (240 g) | 14 oz (400 g) |
| Serrano chiles | 2 | 6 | 10 |
| Cucumber | 7 oz (200 g) | 1.3 lb (600 g) | 2.2 lb (1 kg) |
| Cilantro | ½ oz (15 g) | 1.5 oz (45 g) | 2.6 oz (75 g) |
| Hass avocados | 1 | 3 | 5 |
| Tostadas | 8 | 24 | 40 |
For 20, cure the fish in two dishes, a few minutes apart, rather than one huge one: the juice covers it better and you can serve the second batch fresh.
Cost. The vegetables for 4 come to about $7.23 at US prices: 6 limes at $0.50 each, Hass avocado $1.09, cilantro $0.97 a bunch and cucumber $0.83 each (USDA AMS national retail report, October 9, 2026), tomatoes at $1.977/lb (BLS average price, August 2026, $1.09 for this recipe), onion $0.21 and serrano a few cents. The fish is the rest of the bill and the one number that changes with the store: multiply your price per pound by 1.1. In Mexico, PROFECO’s February 2026 survey put thawed tilapia fillet at an average of 121.98 pesos per kilo and fresh at 179.87, which is the same pattern you’ll find at a US fish counter: previously frozen is cheaper and, for ceviche, the better buy.
Yield. About 2.9 lb (1.3 kg) of drained ceviche: 4 appetizer servings or 8 loaded tostadas. As a main course, it feeds 2 or 3.
What to expect, how to serve it and how long it keeps
Taste and texture. Sour and bright, with firm, clean-tasting fish, cool tomato and cucumber, a bite of onion, the serrano at the back and avocado to round it off. Done right, it doesn’t taste fishy; it tastes of lime and cilantro.
How to serve it. On a tostada, with a layer of drained ceviche, a few cubes of avocado and a few drops of hot sauce. Some cooks spread the tostada with a little mayonnaise first. It also goes in a glass or bowl with saltines on the side. Put guacamole and pico de gallo out for anyone not eating raw fish, a red taco salsa for extra heat, and a jug of hibiscus water to drink.
Out of the fridge. 2 hours at most, according to the FDA, and 1 hour if it’s above 90°F (32°C). On a buffet, set the bowl inside a larger one filled with ice.
In the fridge. The FDA’s storage chart gives raw lean fish 1 to 2 days at 40°F (4°C), and ceviche keeps firming in the acid. Eat it the day you make it; if there’s some left, drain all the juice, cover it, and finish it the next day at the latest. Store the avocado separately or it browns.
Freezing. Raw lean fish fillets keep 6 to 8 months frozen for best quality on the same chart. Finished ceviche doesn’t freeze: the tomato and cucumber collapse and the fish turns mealy.
Reheating. Don’t. If leftovers aren’t appealing cold, sauté them 2 minutes in a hot pan with a little oil and use them as a cooked taco filling.
Mexican ceviche FAQ
How long do you marinate fish for ceviche? About 25 minutes in the fridge for half-inch cubes, the Mexican style; the window runs from 20 to 30. At 3 minutes it’s Peruvian-style; past an hour it toughens and weeps.
Does lime juice cook fish? It changes the color and texture the way heat does, but not the safety. It reduces some bacteria, like Vibrio, barely touches others, like Salmonella, and doesn’t kill parasites.
What is the best fish for ceviche? Firm, lean, white fish that has been frozen: tilapia, red snapper, sea bass or halibut. Avoid salmon and swai.
Is it safe to make ceviche with frozen fish? Frozen is the safer choice: the FDA notes that freezing kills parasites. Thaw it overnight in the fridge and pat it dry.
How long does ceviche last in the fridge? Best the same day. Drained and covered, the next day at the latest; the FDA’s chart allows raw lean fish 1 to 2 days at 40°F.
Can you eat ceviche while pregnant? Not raw: the FDA advises pregnant women to avoid raw fish. Poached to 145°F (63°C) and then dressed with lime, yes.
What’s the difference between Mexican and Peruvian ceviche? Mexican ceviche uses small cubes cured about 25 minutes, mixed with tomato, cucumber and avocado and eaten on tostadas. Peruvian ceviche is served within minutes, with red onion and chile, and the juice is drunk.
How much ceviche do I need for 20 people? 5.5 lb (2.5 kg) of fish, 5 cups (1.25 l) of lime juice and 40 tostadas as an appetizer. Cure it in two batches.
Nutrition per serving
Per serving (about 11.5 oz / 330 g drained, with avocado, without tostadas), calculated ingredient by ingredient from USDA FoodData Central (SR Legacy) using tilapia and counting all the lime juice:
- Calories: 227 kcal
- Protein: 27 g
- Carbohydrates: 15 g
- Fat: 8 g, 2 g of it saturated
- Fiber: 4 g
- Sugars: 5 g
- Sodium: 657 mg
Raw tilapia has 96 kcal and 20 g of protein per 100 g (3.5 oz), and most of the fat comes from the avocado (23 of the 33 g in the bowl). The sodium is mostly the teaspoon of salt, and since half the juice gets poured off, you eat a bit less. Tostadas add whatever their label says, and fried ones a lot more than baked.
The ceviche I grew up with in Venezuela sat in lime all morning, and for years I made it the same way and couldn’t work out why it was tough and watery. Cutting even cubes and pulling them at 25 minutes fixed it. These days I buy frozen tilapia, thaw it the night before and chop while the fish cures, and if someone at the table is pregnant or very young, their portion gets poached. Josnaisis.