Fresh white fish cured in citrus is one of those dishes that tastes bright, clean, and alive on the plate. When it’s done right, the fish turns opaque and tender without going mushy, and the lime, orange, onion, and cilantro hit in layers instead of all at once. That balance is what keeps a good ceviche from tasting flat or overly sharp.
The trick is using fish that’s very fresh and cutting it into even pieces so the citrus can cure it at the same rate. Lime juice does the heavy lifting, while a little orange juice softens the edges and keeps the acidity from taking over. Red onion and jalapeño go in after the fish has cured so they stay crisp and fresh instead of drowning in acid from the start.
Below you’ll find the timing that keeps the texture right, plus the small details that matter most when you’re serving ceviche at the table. The difference between watery, overcured fish and a bowl everyone keeps going back to is smaller than people think.
The fish turned perfectly opaque in about 30 minutes, and the lime-orange mix kept it bright instead of harsh. I loved that the onion stayed crunchy and the avocado held its shape when I tossed everything together.
Save this authentic Mexican ceviche for the times when you want bright citrus-cured fish, crisp onion, and a chilled bowl that disappears fast.
The Part Most Ceviche Gets Wrong: Timing the Citrus Cure
Ceviche doesn’t need long marinating time, and that’s where a lot of people go off track. Leave the fish in the citrus too long and the texture goes from tender to chalky and tight, especially with lean white fish like snapper or halibut. Thirty minutes is the sweet spot here for 1/2-inch dice, with a quick stir or two so the pieces cure evenly.
Use a non-reactive bowl so the acid doesn’t pick up a metallic edge. If the fish pieces are different sizes, the small ones will overcook before the larger ones are done, which is why even cutting matters as much as the marinade itself. You’re looking for fish that’s opaque on the outside and just set through the center, not a bowl of hard white flakes.
- Fresh white fish — Sea bass, snapper, or halibut all work because they’re firm enough to hold shape once cured. Skip soft fish that fall apart easily.
- Lime juice — This is the cure, not just seasoning. Bottled juice tastes flat here, so fresh limes matter.
- Orange juice — It rounds out the acidity and keeps the ceviche from tasting sharp and one-note. If you leave it out, the flavor gets louder but less balanced.
- Red onion — Thin slices bring crunch and bite. Soaking them briefly in cold water takes off some harshness if your onion is aggressive.
What Each Ingredient Is Actually Doing in the Bowl
The fish should be as fresh as you can get it from a trusted fishmonger. Ceviche doesn’t cook with heat, so freshness is the whole game. The citrus changes the texture, but it doesn’t fix fish that already smells fishy or looks dull.
Jalapeño, cilantro, tomato, and avocado all play different roles after the cure. The jalapeño brings heat without drowning the seafood, cilantro keeps the bowl tasting green and fresh, tomato adds juiciness, and avocado gives the ceviche a softer finish right before serving. Add the avocado at the end so it stays intact instead of turning into a mash.
If you need to swap the fish, use another firm white fish with a clean smell and tight flesh. Don’t use salmon for this version unless you’re specifically making a different style of ceviche, because the flavor and texture change a lot and it stops tasting like the classic bowl people expect.
Building the Ceviche So the Fish Stays Tender
Start with Even Pieces and Cold Citrus
Cut the fish into even, bite-size dice before it ever touches the juice. Cold citrus slows down the cure just enough to keep the texture from racing ahead, so keep the lime and orange chilled if you can. Pour enough juice over the fish to fully submerge it, because exposed pieces won’t cure evenly and can taste raw in the middle.
Watch for the Color Change, Not the Clock Alone
Stir once or twice during the 30-minute rest so the top pieces don’t lag behind the rest. The fish should turn opaque and look slightly firmer at the edges while still feeling tender when you spoon it. If it goes completely white and dense, it sat too long and the texture will be dry instead of silky.
Fold in the Crunch at the End
Add the red onion, jalapeño, cilantro, tomato, and avocado after the fish is cured. That keeps the vegetables bright and the avocado clean-looking instead of stained by acid. Toss gently so the fish stays in chunks; aggressive stirring breaks it up and makes the ceviche watery fast.
Make It Spicier Without Throwing Off the Balance
Leave the jalapeño seeds in, or add a second minced pepper, but keep the lime and orange amounts the same. That keeps the heat sharper without making the ceviche too acidic. If you want a deeper chile flavor, use serrano instead of jalapeño and start with half the amount.
Dairy-Free and Naturally Gluten-Free Serving
This recipe already fits both of those needs as written. Serve it with corn tostadas or tortilla chips instead of anything wheat-based, and keep the toppings simple so the citrus and seafood stay in front. That gives you the classic texture contrast without changing the dish.
Turn It into a Shrimp Ceviche
Use peeled, cooked shrimp for a quicker version, or use raw shrimp and let the citrus cure it until pink and opaque, which usually takes a little longer than fish. Shrimp gives you a sweeter, firmer bite, but it won’t taste as clean and delicate as white fish ceviche.
Storage and Reheating
- Refrigerator: Best eaten right away, but you can keep leftovers for up to 1 day. The fish firms up and the avocado softens as it sits.
- Freezer: Don’t freeze ceviche. The citrus-cured texture breaks down after thawing and the vegetables turn watery.
- Reheating: Don’t reheat it. Serve leftover ceviche cold, and drain off any extra liquid before eating so the bowl doesn’t taste diluted.
Answers to the Questions Worth Asking

Authentic Mexican Ceviche
Ingredients
Equipment
Method
- Place the diced fresh white fish (sea bass, snapper, or halibut) in a non-reactive bowl and pour the fresh lime juice and fresh orange juice over it until fully submerged. Cover and refrigerate for 30 minutes, stirring occasionally, until the fish is opaque and visibly “cooked” by the citric acid.
- Add the thinly sliced red onion, minced jalapeños, chopped fresh cilantro, diced tomato, and diced avocado to the cured fish. Season with salt and black pepper, then gently toss until evenly mixed and glossy with citrus juice.
- Adjust lime juice if needed for balance, then serve immediately in chilled bowls or small glasses with tostadas or tortilla chips on the side. For best texture and color, photograph with lime wedges and fresh herbs as visible props.


