A simple, delicious Ceviche Recipe made with white fish, chilies, lime, a splash of coconut milk, and a hint of ginger. Easy and flavorful, this healthy appetizer recipe is low-carb and keto-friendly.

The first time I experienced real, authentic Peruvian ceviche, I thought I died and gone to heaven. I’m a ceviche lover and it really hit all the right notes for me. Here in the States, it’s hard to find the signature chili (Ajo Limo pepper) to perfectly recreate this, but I came up with a way to mimic the flavor. We use this recipe in our catering business, and it never fails to impress!
This Peruvian Ceviche recipe is made with fish, red onions, chilies, lime, a hint of ginger, and a cool and creamy splash of coconut milk. So cooling and delicious! The heat of summer is upon us, and I’m finding that my appetite is not as voracious as it usually is, and I am craving lighter meals. I love having a bowl of this on its own or serving it as a main over a bowl of sushi rice.
 Ceviche Recipe Ingredients
- Red onion (thinly sliced) - Adds sharpness and crisp texture, balancing the richness of the fish and coconut milk.
- Fresh, firm white fish (corvina, sea bass, escolar, or mahi mahi) - Buttery, mild fish that holds its shape when marinated; choose sashimi-grade quality for the best texture and flavor.
- Aromatics (garlic and fresh ginger) - Bring pungent, bright warmth that enhances the citrus and chile.
- Fresh chili pepper - Adds vibrant heat and fruity spice; Ajo Limo pepper is traditional, or sub habanero, jalapeno, or another fresh chili instead; adjust the amount based on heat level.
- Salt - Seasons the fish and helps it cure gently in the lime juice.
- Fresh lime juice and zest - The lime juice "cooks" the fish through acidity while adding brightness; zest intensifies the citrus aroma and flavor.
- Coconut milk (whisked smooth) - Adds silky richness and balances the sharp acidity and heat.
- Fresh cilantro - Provides herbal freshness and a bright finish.
 Notes, Variations, and Recipe Tips
In Peru, it is traditional use Aja limo peppers to create “Tigers Milk”, Â the juicy flavorful marinade for the ceviche. But Tigers Milk can take a couple of days to make, so to be clear, this recipe is much more simplified, not traditional, but mimics the flavors well. Because it is very difficult to find Ajo Limo Peppers here in the Northwest, I’ve substituted half a habanero pepper.
It is also common to see sweet potatoes and corn in Peruvian Ceviche. Feel free to add!
How to Make Peruvian-Inspired Ceviche Recipe
Thinly slice the onions and soak in salted water to remove the bitterness.

Place the fish, garlic, chili, and ginger in a bowl and stir in salt, lime juice, zest, and a splash of coconut milk.

Let this marinate in the fridge for 40-60 minutes. Stir in the soaked, drained onions and the cilantro.

Serving Suggestions
Serve the Ceviche in small bowls or glasses as an appetizer, or serve over rice or tender greens for a light, refreshing meal.

Storing Ceviche
Store ceviche up to 2-3 days in an airtight container in the refrigerator.
More Favorite Ceviche Recipes
- Easy Ceviche
- Â Ceviche Verde
- Hearts of Palm Ceviche
- Aguachile Recipe
- Shrimp Tacos with Mango Cabbage Slaw
- Favorite Fish Recipes from around the Globe
Ceviche Recipe (Peruvian Style)
- Prep Time: 60 minutes
- Total Time: 1 hour
- Yield: 4-6 1x
- Category: Appetizer, fish, Main
- Method: Marinated
- Cuisine: peruvian
- Diet: Dairy-Free, Gluten-Free, Keto, Low-Carb, Paleo
Description
A simple delicious recipe for Peruvian Ceviche made with fish, chilies, lime, a splash of coconut milk and a hint of ginger. Easy, healthy flavorful!
Ingredients
- 1/2 cup red onion, sliced very thin
- 1 pound fresh, firm, buttery white-fleshed fish (corvina, sea bass, escolar, mahi mahi), cut into 3/4-inch cubes or thinly sliced.
- 2 cloves garlic, grated
- 2 teaspoons habanero chili pepper, finely chopped; wear gloves. ( Or sub Ajo limo Pepper) or sub other chili pepper. If chilies are milder, feel free to add more.
- 1 teaspoon fresh ginger, grated
- 1 teaspoon salt
- 1/2 - 3/4 cups fresh lime juice, more to taste (3-5 limes)
- 1 tablespoon lime zest
- 1 cup coconut milk (whisked until smooth)
- 1/4 cup chopped cilantro
Instructions
- Soak the onions. Place the sliced onion in a bowl of generously salted water to soak (to remove bitterness)
- Combine. Cut the fish into small pieces and place them in a medium bowl. Gently stir the garlic, ginger, and chili pepper into the fish to distribute evenly. Add the lime juice, lime zest and coconut milk. Stir to incorporate, cover, and chill for 45-60 minutes.
- Drain the onions and add them along with the cilantro to the ceviche.
- Season. Taste and adjust salt and lime, adding more if necessary.
- Serve in a small bowl as an appetizer or over rice or greens for a main course.
Notes
Ceviche will keep for 2-3 days in an airtight container in the refrigerator.
Nutrition
- Serving Size:
- Calories: 233
- Sugar: 2.7 g
- Sodium: 667.4 mg
- Fat: 13.2 g
- Saturated Fat: 10.1 g
- Carbohydrates: 7.5 g
- Fiber: 1.7 g
- Protein: 22.4 g
- Cholesterol: 46.5 mg






The way it’s written with the fish marinating in a mix of lime juice and coconut milk doesn’t work for me – but it’s a good start. I will definitely make it again, but will marinate the fish in the lime juice separately, and mix the coconut milk with the other ingredients in a different bowl. Then to serve will drain the fish and mix in the coconut mixture. That way you’ll still get the cook, the tang from the lime juice, and retain the sweetness of the coconut milk as a foil for the acidity. Don’t be shy about adding those chiles!
I concur. I don’t know why I did it that way and I think your way makes WAY more sense. 🙂 I will have to remake this one. Thanks for the feedback Bill.
It sounded so good! I’m disappointed! The corvina worked out well but the shrimp wasn’t just right. Maybe my pepper wasn’t spicy enough? Just very limey and not coco nutty tasting. I followed recipe to a tee. Have had this in Panama and was so good in a restaurant. Maybe I will stick to the restaurant.
Sorry Linda, I have not made this with shrimp, only white fish. There are so many variables here as far as finding the “balance”.
Try marinating the fish in the lime juice for 45 min, then drain it. Then add the coconut milk & everything else. That’s how I do it.
Better than TOP NYC Peruvian Restaurants!! Awesome 👌!
Garlic ginger pepper paste made all the difference!
Those restaurants add tomatoes, cucumber, jalapeños and a special corn.
Omitted the corn (not a fan). Added pickled carrots for color and texture.
Replaced tomatoes with strawberry (Dasher left me hanging;{ )
1/8 cup diced pickled carrots
1/4 cup thinly sliced Strawberries
3/4 cup diced cucumber
1/8 cup thinly sliced fresh jalapeños
I added these ingredients at the end and mixed well.
LMK!
Sounds perfect Nash- love your fun additions!
Absolutely delicious! I used about 3/4 lb grouper and 1/4 lb shrimp. Thought I was in Miraflores. Amazing! Definitely will make again.
Awesome, so great to hear this Chris!
Could you use shrimp instead of fish?
Thanks
Yes, I would just make sure it is wild and not farmed.
How do you make it with crispy tofu?
I added some notes for you in the recipe card above. 🙂
Excellent… we loved it! Will do this again – Thankyou
Great to hear Allison!
The recipe sounds right except for the habanero. Unless this is a different habanero than the ones grown here in Australia, two teaspoons without removing the seeds is a overkill. Also warn people to use gloves when dealing with habaneros.
Hi Kate- you are right with the gloves and I noted the recipe. If you are sensitive to heat, go lighter if you like, like 1 teaspoon, but I found the heat to be pretty balanced here!
Any way to cut out some of the sodium?
Hi Christine- Yes I suppose so, but keep in mind, you probably won’t consume all of the sodium, the fish is curing in it, almost like a marinade. 😉 You’ll leave some behind.
Tried this in the sunshine yesterday – even my husband (a Very fussy eater) loved it!! So fresh, creamy and packed with flavour. Will definitely have this again.
Great to hear Kate! I love this one too!
Great recipe but you need to fix the inconsistencies! The brief instructions above the ingredient list are very different from the detailed instructions below! Brief instructions mention lime zest but it’s not anywhere else in the recipe. Brief instructions say to add onion together with spices and liquids in the beginning, detailed instructions say to add onions after marinating in spices and liquids for an hour. Brief instructions don’t mention cilantro at all…etc. Clean it up and it will be perfect!
I will, sorry about that!
Really Brian!?!?!?!
SMH LOL
Looks delicious!,Ill make tour recipe!
Delicious!
Lovely to see a twist of one of my favorite dishes of my country! I will try it!
Thank you for all the inspiration!
Made this exactly as stated. Used half a habanero. Excellent!