Chakalaka is a spicy, vegetable-packed South African relish that typically combines onions, tomatoes, carrots, beans, and a blend of curry spices. It is served cold or at room temperature as a vibrant side dish, most famously alongside pap (a stiff maize porridge) or bread. This recipe delivers a perfectly balanced version—sweet from the carrots, tangy from the tomatoes, and warmly spiced—that comes together in under an hour and keeps well for days.
Ingredients
- 2 tablespoons (30 ml) vegetable oil
- 1 large onion, finely chopped (about 1 cup / 150 g)
- 1 green bell pepper, diced (about 1 cup / 150 g)
- 2 cloves garlic, minced
- 1 tablespoon (15 g) curry powder (mild or hot, to taste)
- 1 teaspoon (2 g) ground cumin
- 1 teaspoon (2 g) ground coriander
- 1/2 teaspoon (1 g) chili flakes (optional, for heat)
- 2 large carrots, peeled and grated (about 2 cups / 260 g)
- 1 can (14 oz / 400 g) diced tomatoes, with their juices
- 1 can (14 oz / 400 g) baked beans in tomato sauce (or canned cannellini beans plus 1/4 cup / 60 ml tomato paste)
- 1 tablespoon (15 ml) lemon juice or white vinegar
- Salt and freshly ground black pepper, to taste
- 2 tablespoons (8 g) fresh cilantro or parsley, chopped (for garnish, optional)
Instructions
- Heat the vegetable oil in a large skillet or pot over medium heat. Add the chopped onion and cook, stirring occasionally, until soft and translucent, about 5 minutes.
- Add the diced bell pepper and cook for another 3 minutes, until slightly tender.
- Stir in the minced garlic, curry powder, cumin, coriander, and chili flakes (if using). Cook for 1 minute until fragrant, stirring constantly to prevent burning.
- Add the grated carrots and stir well to coat with the spice mixture. Cook for 2 minutes, allowing the carrots to soften slightly.
- Pour in the diced tomatoes with their juices and the baked beans (or the cannellini beans and tomato paste). Stir everything together.
- Bring the mixture to a gentle simmer, then reduce the heat to low. Cover and let it cook for 15 minutes, stirring occasionally, until the flavors meld and the carrots are tender but still have a little bite.
- Remove from heat. Stir in the lemon juice or vinegar, then season with salt and black pepper to taste. The relish should be slightly saucy but not watery—if it seems too thin, simmer uncovered for an extra 5 minutes.
- Let the chakalaka cool slightly before serving. Garnish with fresh cilantro or parsley if desired. Serve warm, at room temperature, or chilled.
Tips
- Spice level: Adjust the heat by using mild curry powder and omitting the chili flakes for a family-friendly version, or add a chopped fresh chili with the garlic for extra kick.
- Bean substitute: If you can’t find baked beans, use canned cannellini or kidney beans (rinsed and drained) plus 1/4 cup (60 ml) tomato paste to mimic the saucy sweetness.
- Don’t overcook the carrots: They should be tender but still retain some crunch. Overcooking turns the relish mushy and loses its characteristic texture.
- Make it ahead: Chakalaka tastes even better the next day as the spices meld. Make it a day in advance and refrigerate; bring to room temperature before serving.
Serving Suggestions
Serve chakalaka as a side to grilled meats (boerewors, chicken, or steak), alongside pap, or spooned over rice. It also makes a great filling for sandwiches, a topping for baked potatoes, or a dip with crusty bread. For a traditional South African braai (barbecue), serve it chilled next to the grilled meat.
Variations
- Add cabbage: Shredded cabbage is a common addition—add 2 cups (180 g) with the carrots and cook for an extra 5 minutes.
- Spicier version: Include a finely chopped Scotch bonnet or habanero pepper with the garlic for intense heat.
- Roasted vegetables: Roast the bell pepper and carrots in the oven at 400°F (200°C) for 20 minutes before adding to the pot for a smoky flavor.
- Vegan option: This recipe is naturally vegan if you use baked beans without pork (check the label) and skip any animal-based garnishes.
Storage and Reheating
Store chakalaka in an airtight container in the refrigerator for up to 4 days. It can also be frozen for up to 3 months—thaw overnight in the fridge before serving. To reheat, warm it in a saucepan over medium heat, adding a splash of water if it has thickened too much. You can also serve it cold straight from the fridge; many South Africans prefer it that way.
Frequently Asked Questions
What does chakalaka taste like? It’s a savory-sweet relish with a warm curry spice profile. The sweetness comes from carrots and baked beans, while the tomatoes add tang, and the chili provides heat. The texture is chunky and slightly saucy.
Is chakalaka served hot or cold? Both! It’s often served cold or at room temperature as a side dish, but it can also be enjoyed warm. The choice is personal—try it both ways.
Can I use fresh tomatoes instead of canned? Yes, use about 4 medium tomatoes (roughly 2 cups / 400 g), chopped. You may need to simmer longer (add 10 minutes) to reduce the extra liquid.
What is the origin of the name “chakalaka�? The exact origin is disputed. One popular story says it was invented in the townships of Johannesburg, possibly by a cook named Chakalaka, while another suggests it comes from the Shona word for “to mix.� The dish itself is a staple of South African township cuisine.
Can I make chakalaka without beans? Absolutely. The beans add heartiness, but you can omit them and increase the carrots and tomatoes. Add an extra 1/2 cup (65 g) grated carrot and 1/2 cup (120 ml) tomato sauce to compensate.
Is chakalaka spicy? It can be, but the heat is adjustable. Traditional versions are often mild, relying on curry powder for flavor rather than chili. Use mild curry and skip the chili flakes for a gentle version.
Related
- Low Salt Lays Potato Chips: Make Your Own
- Low Salt Mashed Potatoes: Creamy, Flavorful Recipe
- Large Pork Tenderloin Sandwich: A Hearty Recipe
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).