Vegan Ceviche Recipe

Vegan Ceviche

The Spruce Eats / Ubish Yaren

Prep: 15 mins
Cook: 0 mins
Marinate: 20 mins
Total: 35 mins
Servings: 2 servings
Nutrition Facts (per serving)
591 Calories
45g Fat
48g Carbs
15g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 2
Amount per serving
Calories 591
% Daily Value*
Total Fat 45g 58%
Saturated Fat 7g 33%
Cholesterol 0mg 0%
Sodium 1489mg 65%
Total Carbohydrate 48g 18%
Dietary Fiber 23g 81%
Total Sugars 8g
Protein 15g
Vitamin C 78mg 390%
Calcium 197mg 15%
Iron 9mg 53%
Potassium 2198mg 47%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

​​The tender texture and the tart, briny flavors of ceviche have traditionally come from marinating raw fish in a citrus mixture. But that doesn't mean we can't enjoy the same flavors and textures in a plant-based recipe. For this ceviche, we use hearts of palm as a base, and we infuse the marinade with seaweed to harness that ocean flavor and with mushrooms for umami.

Our recipe calls for oyster mushrooms, but just about any richly-flavored mushroom will work, like shiitake. White or button mushrooms, on the other hand, are probably too mild in flavor to have the desired effect on the marinade.

Hearts of palm come from the innermost core of açaí palm, coconut, juçara, palmetto, and peach palm trees. They are typically packed in water and have a slightly nutty, vegetive flavor. They have a crunchy-cream texture, and they absorb flavors well, which makes them an ideal ingredient for vegan ceviche.


  • 4 sheets of nori seaweed, cut into 1/4-inch pieces 

  • 150 milliliters lime juice

  • 150 grams oyster mushrooms, or other flavorful mushrooms

  • 1/2 medium diced red onion

  • 400-gram can of whole hearts of palm, drained and cut crosswise into 1/2-inch pieces

  • 1/2 peeled and diced cucumber

  • 1 chopped ripe avocado

  • 150 grams cherry tomatoes, cut into halves

  • 1 minced serrano chile

  • 1/2 cup chopped cilantro

  • 2 tablespoons olive oil

  • 1 tablespoon soy sauce

  • Kosher salt, to taste

  • Tostadas, tortilla chips, or saltines for serving

Steps to Make It

  1. Gather the ingredients.

  2. Combine lime juice and seaweed in a small, non-reactive bowl and soak until the seaweed is soft, about 5 minutes. Strain the seaweed, pressing to release all of the lime juice. Reserve the seaweed and lime juice, each in separate bowls.

  3. Cut or tear the mushrooms into bite-sized pieces. Add mushrooms and infused lime juice to a medium-sized bowl and soak for 5 minutes. Strain, pressing mushrooms, and reserve lime juice again. Reserve mushrooms for another use.

  4. Combine onions and lime juice and marinate for about 5 minutes.

  5. Add the hearts of palm, cucumber, tomatoes, avocado, serrano chile, cilantro, nori, olive oil, and soy sauce to the lime juice. Gently fold ingredients together. Taste and add salt, if needed. Marinate a final 5 minutes.

  6. Divide into 2 portions and serve with tostadas, tortilla chips, or saltines.

Recipe Variations

  • Instead of hearts of palm, you could use mushrooms. Silken tofu and jackfruit are other options.
  • Omit the soy sauce if you have soy sensitivities.


  • Once ceviche is finished marinating, it should be eaten right away.
  • Unlike fish ceviche, this vegan ceviche is safe to store it in an airtight container in the refrigerator a day or two; it will not taste as good as it does freshly made, however.

How do you get plant-based foods to taste like fish?

For this recipe we use nori seaweed to infuse the lime juice with a briny, ocean flavor.