The science first: lime juice doesn't cook fish in the conventional sense - it denatures the proteins through acid rather than heat, changing the texture and color but not eliminating bacteria the way heat does. Good ceviche uses very fresh fish from a source you trust, and it's eaten the day it's made.
In Peru, classic ceviche uses sea bass (corvina). Outside South America, any firm white saltwater fish works: snapper, halibut, sea bass, flounder, or mahi-mahi. The fish should be sushi-grade or as close to it as possible. Ask your fishmonger what's freshest that day. Avoid fish with a strong oily flavor (mackerel, sardines) for classic ceviche - save those for other preparations.
Cut into 1.5-2cm cubes. Uniform size is important for even curing.
Leche de tigre is the curing marinade - a mixture of fresh lime juice, fish trimmings, ají amarillo, garlic, ginger, salt, and cilantro stems. In restaurants it's blended and strained to make a smooth, intensely flavored liquid. At home, a simplified version works well:
Whisk together lime juice, ají amarillo paste, garlic, ginger, and salt. Add cilantro stems and let steep for 5 minutes, then remove stems. This is your leche de tigre.
Lime juice does not kill all pathogens. Use the freshest possible fish, keep everything cold during prep, and eat ceviche the day it's made - ideally within two hours of preparation. If you are pregnant, immunocompromised, or serving to young children or the elderly, use heat-treated fish instead: poach briefly in salted water for 2 minutes until just cooked, cool completely, then proceed with the leche de tigre for flavor. The texture will be different but the dish is still very good.
Add approximately 80 kcal and 20g carbs per serving with corn and sweet potato accompaniments.
Ecuadorian ceviche is cooked rather than acid-cured and served in a tomato-based broth - closer to a soup. Mexican ceviche adds avocado, tomato, and cucumber, and is usually marinated longer. Colombian ceviche uses shrimp and includes ketchup in the base (more common than you'd expect along the coast). All are worth trying once you have the Peruvian version down.
Ceviche is part of a broader tradition of fresh, acid-forward Peruvian cooking that includes salsa criolla and ají amarillo-based sauces. For a complete overview of Peruvian and South American condiments, see our guide to South American condiments and cooking.