This classic ceviche recipe is a light and fresh appetizer (or main meal) that’s vibrant, tangy, and perfectly scoopable with tortilla chips. It’s a simple blend of lime-marinated white fish (though you could also use shrimp) along with tomatoes, cucumber, onion, avocado, and cilantro. It’s the ultimate ceviche!
order:
Ceviche is my love language. Especially this ceviche de pescado (fish ceviche), which is my go-to ceviche recipe for summertime parties and fiestas. It also highlights what I love about Mexican coastal food, where a handful of fresh, healthy ingredients turn into one amazingly flavorful meal.
I’ve eaten endless amounts of ceviche across Mexico (you can catch a snippet in the video below), so I’m excited to share my take on this classic ceviche. It’s naturally simple yet touches on all the fresh flavors of Mexico.
Peruvian vs Mexican Ceviche
Before we dive into the recipe, I’d like to give a warm shout-out to my Peruvian followers and their national dish — ceviche! Their version is often a simpler preparation with citrus-marinated raw fish, sliced onions, and a sprinkle of cilantro. It really lets the fish shine! And for the full plated experience, you’ll typically find Peruvian ceviche served with sweet potatoes, toasted corn, or plantain chips.
On the other hand, the ceviche I’ve made today is influenced by all my travels to Mexico. Mexican ceviche also uses citrus-marinated, but it’s tossed with other ingredients like tomatoes, cucumber, onion, jalapeño, avocado, and more. And with everything diced up in uniform pieces, it’s the perfect appetizer to serve with tortilla chips!
What Fish to Use in Ceviche
The options are numerous – you can use shellfish like shrimp, crab, scallops, or squid. And then there’s white fish (my favorite) like sea bass, snapper, halibut, cod, mahi mahi, and more. In Mexico, sea bass is often used, though I’m using halibut today as it’s easy for me to find in Southern California (it’s also what I used in my mango halibut ceviche).
Whichever you decide, I can’t emphasize enough that the quality of your fish matters. If you have access to a local fish market with freshly caught fish of the day, I’d consider that your first option. If not, you can grab frozen fish or let the fishmonger know you’re using raw fish for ceviche. This will give them a better idea of which pieces are best suited for you.
Ceviche Ingredients
A bite of this ceviche will make you feel like you’re on the coast of Mexico! Here’s what’s in it.
- White Fish: I’m using fresh halibut for this recipe, but you can reference the section above for other firm white fish options. You can also use shrimp in this recipe, but take note of the shrimp tips in my citrus shrimp ceviche recipe.
- Marinade: A lime and lemon juice mixture will “cook” and tenderize the fish.
- Vegetables: You’ll need tomatoes, cucumber, red onion, avocados, and jalapeño or serrano pepper. It’s all my favorite Mexican toppings in one bowl!
- Herbs: You can’t do ceviche without cilantro in my opinion (but I’m also a cilantro lover).
Find the complete recipe with measurements below
How To Make Ceviche
Marinate the fish. In a glass (non-reactive) bowl, stir together the fish, lime juice, and lemon juice. Cover the bowl and marinate in the fridge for 20 to 30 minutes (and up until 2 hours or so). You’ll notice the fish go opaque as the lime juice “cooks” the fish. The longer you marinate the fish, the more it will cook. See below for more information.
Stir everything together. Remove the fish from the fridge (no need to drain it) and add the tomatoes, cucumber, avocado, red onion, jalapeno pepper, cilantro, and salt. Gently stir to combine.
Serve it up! Serve the ceviche in individual glasses, on a plate, or with tortilla chips.
How Long to Marinate Fish for Ceviche?
The “cook time” for ceviche depends on how tender you want the fish to be and how big the pieces are. But the general rule is to marinate for at least 20 to 30 minutes and no more than 4 hours. Here are a few notes to go by:
- 30 Minutes: The fish will be mostly opaque and a bit more “cooked” yet still tender.
- 1 Hour: The fish will be opaque — like “medium-cooked” meat.
- 2+ Hours: The fish will be completely opaque — like “well-done” meat. After 4 hours, the fish will toughen up and won’t be as tasty.
Storage Tips
Anything fresh, like ceviche, is always best eaten right away. But any leftovers will keep for up to 2 days in the fridge stored in an airtight container.
Keep in mind though that the acidic mixture will continue to “cook” and break down the fish’s protein structure. It can make the fish more tough, though I find this applies to shrimp more so than white fish. I’ve certainly enjoyed leftovers of this recipe the next day!
Ceviche
Ingredients
- 1 pound fresh firm white fish (like sea bass, snapper, or halibut – see tips above), skinned, deboned and diced into small pieces
- ½ cup fresh lime juice, from about 5 to 6 limes
- 3 tablespoons fresh lemon juice, from 1 lemon
- 2 Roma tomatoes, diced
- 1 cucumber, peeled and diced
- 1 avocado, peeled, deseeded and diced
- ½ small red onion, diced
- 1 jalapeno pepper, seeded and finely diced
- ½ bunch cilantro, chopped
- 1 teaspoon kosher salt
Instructions
-
In a glass (non-reactive) bowl, stir together the fish, lime juice, and lemon juice, Cover the bowl and marinate in the fridge for 30 minutes to 4 hours. You'll notice the fish go opaque as the lime juice "cooks" the fish. The longer you marinate the fish, the more it will cook. See above in the blog post for more information.
-
Remove the fish from the fridge (no need to drain it) and add the tomatoes, cucumber, avocado, red onion, jalapeno pepper, cilantro, and salt. Gently stir to combine.
-
Serve it up in individual glasses, on a plate, or with tortilla chips.