This post may contain affiliate links. See my disclosure policy.

Jump to RecipeJump to Video

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!

A bowl of ceviche
Photo: Gayle McLeod

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.

Ingredients for Mexican ceviche on a table

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.

Marinating fish in a bowl for ceviche

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.

Mixing ceviche in a glass bowl

Serve it up! Serve the ceviche in individual glasses, on a plate, or with tortilla chips.

A big bowl of ceviche

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.
Glasses of ceviche

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!

More Easy Mexican Appetizers

These appetizers are essential for your next Mexican-inspired dinner! And if you need a few more delicious ideas to round out the table, I’ve got an exciting list of my best Mexican recipes.

I hope you and your guests enjoy this delicious ceviche recipe! I’d love to hear your thoughts in the comment box below.

A white bowl of ceviche


5 from 10 votes
Prep: 10 minutes
Cook: 30 minutes
Total: 40 minutes
Servings: 4 servings
Author: Lisa Bryan


Dig on in — this is the best ceviche recipe yet! It's an appetizer that's super fresh, tangy, and perfectly scoopable with tortilla chips. Watch the video below to see how I make it in my kitchen!



  • 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


  • 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.
    A bowl of marinated fish for ceviche
  • 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.
    Mixed ceviche in a glass bowl
  • Serve it up in individual glasses, on a plate, or with tortilla chips.
    A bowl of Mexican ceviche de pescado


Calories: 216kcal | Carbohydrates: 12g | Protein: 23g | Fat: 9g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 5g | Cholesterol: 56mg | Sodium: 667mg | Potassium: 997mg | Fiber: 5g | Sugar: 4g | Vitamin A: 585IU | Vitamin C: 32mg | Calcium: 39mg | Iron: 1mg
Course: Appetizer
Cuisine: Mexican
Keyword: ceviche, ceviche recipe, Mexican ceviche
Did you make this recipe?Mention @downshiftology or tag #downshiftology!

You May Also Like

About the author

Lisa Bryan

Lisa is a bestselling cookbook author, recipe developer, and YouTuber (with over 2.5 million subscribers) living in sunny Southern California. She started Downshiftology in 2014, and is passionate about making healthy food with fresh, simple and seasonal ingredients.

Leave a comment

All comments are moderated before appearing on the site. Thank you for sharing your feedback!

Your email address will not be published. Required fields are marked *

Recipe Rating


  1. Made this ceviche for an appetiser for friends on Saturday, it was a total hit with everyone. Not a lot of them had ever tried ceviche are were a bit worried at first. It went down a treat with my homemade tortilla toasts. Thank you.

  2. Yes, this really is the best ceviche recipe ever! Delicious, nutritious, great taste and texture. I squeeze the lemons and limes myself. It takes a bit longer than using bottled juice, but I think it’s worth it.5 stars

  3. Wondering if this recipe would also work for scallops? Also, for a party trying to
    decide how to serve (don’t like individual disposable plastic but seems like a better idea than one large bowl). Thx!

  4. Ok so I have to ask…. the marinade cooks the fish??? IS the fish really raw? I do not understand how the marinade COOKS the fish….. I’m new to this idea, it looks delicious. I want to try but I prefer cooked meats :) can you explain a little…. Thanks

    1. The acid from the lime juice forms a low pH condition to denature the fish’s protein network, the same as heating would! This results in the fish becoming opaque and more firm in texture. Hope that helps!

  5. Best ceviche ever! I make some really good ceviche and am always ready to try a new one. Rarely do I think one is better than my favorite 2 tried-and-true….but this one IS🙌🏼5 stars

  6. This was super easy and so yummy! I used halibut for mine and I thought the leftovers tasted just as good as night one. Was great to have now that the weather is getting warmer.5 stars

  7. So easy and delicious. Just because my red onion was potent and the jalapeno not-so-much, I tasted and adjusted the amounts.5 stars

  8. This was so easy and tasty. I couldn’t believe the fish actually turned opaque. Anyway, I should have read Lisa’s notes on leftovers and how the fish keeps cooking before making it. Definitely half the recipe if you are only serving 1 or 2 as it’s best on the fist day :)5 stars

  9. I would love to make this Ceviche recipe but cucumber gives me heartburn. Could I substitute Jicama?