Chakalaka.
Spicy South African Vegetable Relish
Chakalaka · say it: chah-kah-LAH-kah
Chakalaka is a spiced vegetable relish built on grated carrot, bell peppers and onion cooked with curry powder, chilli and tomato, with a tin of baked beans stirred through at the end to bind it. It sits somewhere between a side dish, a sauce and a salad, and it is eaten in all three roles — hot alongside pap and grilled meat, cold out of the fridge on bread, or spooned over anything that needs waking up. The taste is sweet from the carrot and beans, sour from the tomato, and hot from the chilli, and it is fast: twenty-five minutes from board to bowl, most of that spent grating.

- Gate
South AfricaGauteng- Prep
- 15 min
- Cook
- 25 min
- Total time
- 40 min
- Serves
- 6
- Status
- Easy
- Nutrition / serving · estimated
- Calories 210 kcal
- Protein 6 g
- Carbs 27 g
- Fat 8 g
- Fiber 8 g
- Sugar 13 g
- Sodium 620 mg
Why this recipe works.
- Vegetables are added in stages so the peppers keep some bite while the carrot softens into the sauce.
- The curry powder is fried in oil before any liquid arrives, which removes the raw, chalky taste that ruins most quick versions.
- Baked beans go in at the very end, so they thicken the relish without collapsing into an unrecognisable mush.
- Balanced to work equally well hot off the stove and cold from the fridge two days later.
Ingredients.
16 itemsBase
Vegetables
To season
Equipment
- Coarse box grater
- Large frying pan or wide saucepan
Instructions.
Soften the onion
Warm the oil in a wide pan over medium heat and cook the onion for 10 minutes, stirring now and then, until it is completely soft and translucent with faint gold at the edges. Rushing this leaves a raw crunch that stands out in the finished relish.
Add the aromatics and spice
Stir in the garlic, ginger and green chillies for one minute, then add the curry powder, paprika and thyme and keep stirring for another full minute. The spice should darken against the pan and smell toasted rather than dusty before anything wet joins it.
Tip If the pan looks dry and the spices start to stick, add another splash of oil rather than water — the powder needs fat to bloom in.
Cook the peppers
Tip in the diced bell peppers and fry for 5 minutes over medium-high heat until their edges soften and the colours brighten. They should still be firm enough to hold their shape when pressed with the spoon.
Add carrot and tomato
Stir in 4 of grated carrot, then the tinned tomatoes, sugar, salt and pepper. Simmer uncovered for 8–10 minutes, until the carrot has slumped, the tomato has lost its raw sharp smell and the mixture has gone from watery to glossy.
Fold in the beans
Add the baked beans with their sauce and fold them through gently for 2 minutes, just long enough to heat through. The relish is ready when a spoon dragged across the pan leaves a trail that holds for a second before closing.
Tip Beat the beans and you get a brown paste. Fold once or twice and stop.
Taste and serve
Check the seasoning — it should taste distinctly sweet, sour and hot all at once, not muted in any direction. Scatter over the coriander if using, and serve hot with pap, or cool it fully and keep it in the fridge to eat cold.
Tips from our kitchen.
- Grate the carrot coarsely on the largest holes. Finely grated carrot dissolves completely and you lose all the texture that makes this a relish.
- Cook the onions longer than feels necessary — around ten minutes, until they are properly soft. Crunchy onion is the most common fault in a rushed chakalaka.
- Fry the curry powder in the oil for a full minute before anything wet goes in, until it smells toasted and darkens slightly against the pan.
- Stir the baked beans in gently and only for the last two minutes, folding rather than beating, so they stay whole.
- Adjust for the meal: looser and hotter to go with pap and gravy, thicker and milder if it is going on bread.
- Make it a day ahead if you can. The heat rounds out overnight and the flavours settle into each other.
Substitutions.
- Tinned baked beans in tomato sauce → 400 g cooked haricot or cannellini beans plus 2 tbsp tomato paste and 1 tsp sugar
- This gets close, but you are rebuilding what the tin already contains. If you go this route, add the tomato paste with the curry powder so it cooks out properly.
- Curry powder → Garam masala plus 1 tsp turmeric and 1 tsp mild chilli powder
- The colour and warmth carry over, though garam masala is more aromatic and less earthy. A South African mild masala is the closest match if you can find one.
- Fresh green chillies → Chilli flakes, or a spoonful of peri-peri sauce added at the end
- Fresh chilli gives a brighter heat that sits on top; flakes give a duller one that runs through everything. Both are used in practice.
Variations.
- Cabbage chakalaka
- Add a quarter of a shredded white cabbage with the peppers. It bulks the dish out considerably and softens the overall heat, which is why it turns up wherever a lot of people need feeding.
- Butternut chakalaka
- Coarsely grated butternut in place of half the carrot. Sweeter and softer, and it breaks down more, giving a thicker relish that suits bread better than pap.
- Chakalaka with cauliflower
- Small cauliflower florets added with the carrot and cooked until just tender. They soak up the curry gravy and turn the relish into something closer to a vegetable side dish in its own right.
Storage & reheating.
Chakalaka keeps 5 days in a sealed container in the fridge and is arguably better cold on day three than hot on day one. It does not need reheating to be eaten, but if you want it hot, warm it in a pan rather than a microwave so the excess liquid cooks off. Freezing is not worth it — the carrot goes limp and the beans turn floury on thawing, and the whole point of the dish is that it takes twenty-five minutes to make fresh.
Serve with
Stiff pap and boerewors straight off the braai, or piled onto buttered bread with nothing else at all.
The story behind Chakalaka.
Chakalaka comes out of the townships around Johannesburg, from the kitchens and hostels attached to the gold mines, where migrant workers from across southern Africa and beyond cooked for themselves with cheap vegetables, tinned goods and whatever spice was affordable. Curry powder was affordable, having arrived through the same trade and labour networks that shaped Durban, and chilli was cheaper still. What resulted was not a recipe passed down but a method that anyone could execute with a grater, a pan and a tin opener.
That origin explains the ingredient list, which offends people who think traditional food must be made from scratch. Tinned baked beans in tomato sauce are not a shortcut in chakalaka; they are the dish. Their sugar and thickened tomato sauce are exactly what turns a pan of fried vegetables into something that clings to pap, and versions made with home-cooked dried beans taste noticeably thinner. The same goes for curry powder — a blended commercial powder is what has always been used, and reaching for individually toasted whole spices makes a nicer pan of vegetables but not a more authentic chakalaka.
There is no fixed version. Cabbage, cauliflower, green beans, butternut and grated raw beetroot all appear depending on the household and what was on the shelf, and the heat runs from mild enough for children to genuinely aggressive. It travelled outward from the townships onto braai tables everywhere, into supermarket jars, and onto restaurant menus as an accompaniment, which is a fairly typical route for South African food: something invented under economic pressure becomes a national favourite once the pressure is described in the past tense.
Questions, answered.
What does chakalaka taste like?
Sweet, sour and hot at the same time: sweetness from grated carrot and the tomato sauce around the baked beans, acidity from tomato, and a curry-powder warmth carrying chilli heat on top. The texture is chunky rather than smooth, with soft onion and pepper against carrot that still has some resistance. It is closer to a spiced relish than to a curry or a salad.
Do I have to use tinned baked beans?
For a traditional chakalaka, effectively yes. The sweetened tomato sauce in the tin is what gives the relish its body and its characteristic sweet-sour edge, and versions made with plain cooked beans come out noticeably thinner and flatter. If you cannot get them, use cooked white beans with tomato paste and a little sugar to rebuild what the tin provides.
Is chakalaka served hot or cold?
Both, and neither is wrong. Straight off the stove it goes with pap, braai meat and stews as a hot side. Chilled, it is eaten as a relish or salad on bread, in a boerie roll, or spooned onto a plate of cold leftovers. Many households deliberately make a big batch to be eaten hot on the first day and cold for the rest of the week.
How spicy should chakalaka be?
That varies enormously by household — some versions are gentle enough for small children, others are punishing. This recipe uses two green chillies for a firm medium heat that most people can eat comfortably alongside starchy food. Deseed the chillies for a milder version, or add a chopped bird's eye chilli at the end if you want it to bite.
Can I make chakalaka without curry powder?
You can make a good spiced vegetable relish without it, but it will not really be chakalaka — the curry powder is the defining flavour, not an optional seasoning. If you have none, the closest rebuild is turmeric, ground coriander, ground cumin, a little fenugreek and chilli powder in roughly equal parts, fried in oil before the vegetables go in.
You might also like.
All recipes →Keep exploring South Africa.
South Africa has 9 more dishes in the atlas — Bobotie and Boerewors, and 7 more.
Recipe by The DishRoute Kitchen · published August 20, 2026 · updated August 20, 2026