Red smoke from Lima's street stalls

At night, a sweet smoke of vinegar, chiles and charcoal drifts from the street stalls. That smell is what Peruvian anticuchos are about. They're skewers, so they look familiar, but the first bite brings a tang and the aroma of red chiles that set them apart from Japanese yakitori. The meat doesn't lean on fat; instead, the marinated surface is seared quickly, and potatoes and corn round out every bite.
In Peru, anticuchos are most often made with beef heart, and are also called anticuchos de corazón in Spanish. Corazón means heart. Beef heart isn't always on supermarket shelves, but you can often find it at butcher shops, at markets that carry offal, or online. On days when beef heart is hard to get, skirt steak, beef round or pork shoulder still make a very good home version, as long as you keep the red ají panca–style marinade and the skewer format.
Seen through its origins and history, anticuchos are more than skewers of an unusual cut. Andean skewer-grilling traditions overlapped with the tables of Lima from the colonial era onward, and anticuchos became established as a street food that wastes no part of the beef, eating the heart with aromatic chiles and vinegar. There are regional differences too: in Lima they're a familiar sight in nighttime alleys and storefronts, served with potatoes, while at home people sometimes swap in whatever meat is easier to find. If you're recreating them, you'll get closer to how they're eaten in Peru by keeping the structure, the red marinade, a short hot sear and potatoes and corn on the side, than by obsessing over the cut alone.
This article focuses on the points where home cooks tend to get stuck: trimming beef heart, substitutes when you have no ají panca, cooking on a broiler or grill pan, and checking the internal temperature. For a full Peruvian meal, serve them alongside the cold appetizer causa limeña (in Japanese), papa a la huancaína (in Japanese) with its yellow sauce, and the high-heat stir-fry lomo saltado (in Japanese) for the feel of a Lima eatery.
In Spanish the word is anticucho, plural anticuchos. Those made with beef heart are written anticuchos de corazón. This article uses "anticuchos" as the name of the dish.
Ingredients and substitutes: protect the red tang and the short cooking time

The most important thing with anticuchos is not to use the chile just for heat. In Peru, cooks often use a paste of ají panca, a deep red chile with relatively mild heat. If you can't find it, steer toward "red, slightly sweet and tangy" with paprika, a little ají amarillo, tomato paste and vinegar. Adding more ground red chile for heat tends to pull you away from the aroma of a Peruvian street stall, so go easy on it.
Beef heart is a lean muscle. Overcook it and it turns hard like liver; undercook it and the center stays lukewarm. So don't slice it too thin, but don't cut big chunks either. About 2.5 cm (1 inch) cubes, seared hard on the outside and cooked reliably through the center, suit a home kitchen best.
This recipe contains beef, and if you use soy sauce it may also contain soy and wheat. Don't use marinade that has touched raw meat as a table sauce: brush it all on during cooking or discard it. If you want a sauce for the table, set aside part of the marinade in a separate container before adding the meat.
Tools that are easy to get wrong
Charcoal is ideal for anticuchos, but at home it's more practical to build the char on a grill pan or under the broiler. A flat skillet works, but the marinade spreads out and the meat tends to stew, so if you want a toasty surface, a ridged grill pan is worth considering.
Skewers that are too short leave you nowhere to hold once the meat is on. Around 20 cm (8 inches), within what fits under your broiler, is easiest to handle. Just soaking them in water for 30 minutes makes a big difference in how much they char.
Beef heart is dark in color, so it's hard to judge the center temperature from the surface browning alone. If you want to play it safe for the family, checking the thickest piece with a thermometer is the quickest way.
Method: don't burn the red marinade
Boil the potatoes in their skins while the meat marinates: over medium heat for 25–30 minutes, until a skewer slides into the center without resistance. For the corn, simply reheating precooked corn is fine. Have the sides ready before you start grilling, so you can eat the moment the skewers are done.
For the final brushing, use only marinade that was set aside before it touched raw meat. If you forgot to set some aside, mix a fresh batch of 2 tsp oil and 1 tsp ají panca paste and brush that on instead.
Heat and troubleshooting: beef heart is unforgiving whether over- or undercooked

Anticuchos aren't skewers in a sweet barbecue glaze. The aroma comes from vinegar and chiles, the meat is cooked briefly over fairly high heat, and potatoes balance it out. When things go wrong, it usually comes down to three causes: a marinade that's too thick, meat cut too large, or cooking too long over low heat.
| Problem | Cause | Fix |
|---|---|---|
| Tough meat | Membrane or sinew left on, internal temperature pushed too high, cooked too long over low heat | Remove the white membrane during trimming. Cut evenly into 2.5 cm cubes and cook briefly over medium-high heat |
| Bitter surface | Marinade too thick, or a paste containing sugar cooked too hard | Wipe off excess marinade before cooking, and stop the final broil at 3–4 minutes |
| Watery | Meat not dried after rinsing, pan too cold | Dry thoroughly, and preheat the grill pan for 3 minutes before adding the skewers |
| Lukewarm center | Pieces too large, skewers packed too tightly | Cut into 2.5 cm cubes and leave gaps. Check the temperature of a thick piece |
| Not enough Peruvian aroma | Too little cumin and vinegar, or an ají panca substitute that's only sweet | Stick to 1 tsp cumin and 3 tbsp vinegar. Add acidity, not just paprika |
| Skewers burn | Not soaked, or too close to the broiler | Soak for 30 minutes. Loosely cover the exposed parts with foil |
When you can't get beef heart, skirt steak works very well. It has a little fat and gets nicely toasty even with a short, hot cook. Beef round is inexpensive but turns tough easily when overcooked, so cut it about 2 cm thick and cook briefly. If you use pork shoulder, cook it through to the center, aiming for 75°C (167°F) in a thick piece.
A substitute for ají panca isn't about perfect replication; it's about not losing the direction. Paprika alone leans sweet, and tomato paste alone drifts toward a ketchupy pasta sauce. A little ají amarillo substitute sauce adds the yellow-chile aroma of Peruvian cooking, but too much makes the color too bright. Splitting the roles, deep red from paprika, gentle heat from ají amarillo and tang from vinegar, makes mistakes less likely.
Among skewered meats, Brazilian churrasco (in Japanese) is about big cuts and salt, and Nigerian suya (in Japanese) is led by the aroma of peanuts and ground chile. Anticuchos aren't somewhere in between; they're about cooking a vinegar-laced red marinade onto the meat. Think of drying the surface quickly rather than cooking low and slow.
Storage and next-day ideas

Once the cooked anticuchos have cooled slightly, take them off the skewers, put them in a shallow container and refrigerate. They keep for about 2 days. Don't save for the next day any that sat at room temperature for a long time, released a lot of juice, or were taken outdoors. Don't store marinade that touched raw meat; if you want a sauce, cook only the portion set aside before the meat went in.
Reheating in the microwave alone weakens the aroma. Put the meat from the fridge on a microwave-safe plate, sprinkle with 1 tsp water, cover loosely with plastic wrap and heat at 600 W for 40–60 seconds. Then roll it in a skillet over medium-low heat for just 1–2 minutes to bring back the surface aroma. Reheating over high heat makes the surface bitter before the center warms through, so the next day, warm it first, then restore the aroma.
Leftover meat is also good chopped with potatoes into a warm salad. Adding lime, cilantro and thinly sliced onion keeps it light even the next day. If serving it over rice, cut the meat small and add just a little red sauce. Keeping the tang, rather than turning it sweet and savory like a teriyaki bowl, keeps the character of anticuchos.
If you're bringing them to a potluck, don't seal them while hot; let them cool, then carry them with ice packs. Eating them hot off the grill like at a stall is part of the fun, but when you cook at home and travel, put safety first. If you can reheat at the venue, bring the meat off the skewers, reheat it, then rethread it onto short bamboo skewers; it warms more evenly to the center that way.
FAQ

Q. What's the closest substitute for beef heart?
Skirt steak is the closest. It gets toasty even with a short cook, and its bit of fat keeps it from turning tough. Beef round is easy to find but toughens when overcooked, so cut it smaller. You can use pork shoulder, but then treat it as a home-style red-marinated skewer rather than a Peruvian beef heart skewer, and cook it thoroughly through the center.
Q. Can I make it without ají panca paste?
Yes, but you need to keep it from tasting like plain paprika. Combining 2 tbsp paprika, 2 tsp tomato paste, 2 tsp ají amarillo substitute sauce and 3 tbsp vinegar splits the roles of red color, a little sweetness, tang and chile aroma. Heat is easier to adjust if you add a little cayenne at the end.
Q. Can I cook them under the broiler only?
Yes. With a broiler that heats from both sides, preheat on high for 2 minutes, then cook the skewers for 5–6 minutes. With a top-heat-only broiler where you need to turn them, cook 4 minutes on one side, then turn and cook 3–4 minutes. If the space is tight, use shorter skewers or lay just the meat on the rack without skewers. Fat and marinade will drip, so follow your appliance's instructions for the drip tray, water or foil.
Q. Can I marinate it from the day before?
You can, but if the vinegar penetrates too much, the surface of the meat firms up. If marinating overnight, reduce the red wine vinegar to 2 tbsp, and 1 hour before cooking add 2 tsp oil and mix everything again. Beef heart has a cleaner bite when cooked after 2–6 hours than when marinated for more than 24 hours.
Q. What internal temperature should I look for?
US food-safety guidance gives 63°C (145°F) or higher, followed by a 3-minute rest, for steaks and roasts of beef, pork, lamb and similar meats. Because beef heart varies in shape and cut from kitchen to kitchen, this article aims for at least 63°C in a thick piece, and 70–75°C (158–167°F) if you want to play it safe for the family or are substituting pork. If you have no thermometer, cut open a thick piece and check that the center isn't lukewarm and no red, raw-looking juice remains.
Sources
- Peru Travel, "Anticucho" (accessed 16 May 2026) https://www.peru.travel/gastronomy/en/recipes/entrees/anticucho.html
- LimaEasy, "Anticuchos" (accessed 16 May 2026) https://www.limaeasy.com/peruvian-food-guide/typical-starter-appetizer/anticuchos
- USDA FSIS, "Safe Minimum Internal Temperature Chart" (accessed 16 May 2026) https://www.fsis.usda.gov/food-safety/safe-food-handling-and-preparation/food-safety-basics/safe-temperature-chart
- FoodSafety.gov, "Safe Minimum Internal Temperatures" (accessed 16 May 2026) https://www.foodsafety.gov/food-safety-charts/safe-minimum-internal-temperatures











