South African chakalaka: a tomato-red relish of vegetables and beans scented with curry, served in a white bowl
Prep20 min
Cook35 min
Serves4 servings
CuisineSouth African

Chakalaka: South African Vegetable Relish with Beans and Curry Spice

South African chakalaka, a relish of onion, carrot, green pepper, tomato, and beans simmered with curry powder. The flavor backbone for serving with pap or meat, keeping the heat on the side, refrigerator storage, substitutions, the cultural background without a claimed origin, and how to rescue a pot that goes wrong.

Total: 55 minLevel: Beginner

Cooking flow

Cooking steps

STEP 11 / 6

Cut the vegetables to the same width

20 min

Step 1 of chakalaka: cutting onion, carrot, green pepper, cabbage, and tomato to sizes that cook evenly
With vegetables of even thickness, no part stays hard after simmering

Cut 100 g onion into 5 mm slices, 120 g carrot into thin strips 3–4 cm long and 4 mm wide, 150 g green pepper into 1 cm squares, and 100 g cabbage into 2 cm squares. Cut 1 tomato (150 g) into 1 cm pieces and mince 1 clove garlic and 10 g ginger. If only the carrot is thick, it will cook late, so keep the thickness even. If using green chili, slice 1–2 into thin rounds, and remove the seeds if you want less heat.

STEP 22 / 6

Fry the onion and aromatics

7 min

Step 2 of chakalaka: frying onion, garlic, and ginger over medium heat in a deep frying pan
Frying the onion until translucent brings out a sweet base ahead of the heat

Put 1 tbsp vegetable oil in a deep frying pan and fry the onion over medium heat for 5 minutes. It is ready when the whole onion has turned translucent before the edges brown and it softens when pressed with the spatula. Add the garlic and ginger and fry another 1–2 minutes, and when fragrant, lower the heat a little. Over high heat the aromatics turn bitter before the curry powder goes in.

STEP 33 / 6

Fry the firm vegetables first

5 min

Step 3 of chakalaka: adding carrot, green pepper, and cabbage and coating them in oil as they fry
Fry until the corners of the vegetables round slightly, leaving bite before the simmer

Add the carrot, green pepper, and cabbage and fry over medium heat for 4–5 minutes. It is enough when the oil has coated everything, the surface of the carrot looks a little brighter, and the corners of the pepper have rounded. You do not need to soften them completely. If you overcook the vegetables here, they absorb liquid in the simmer and lose their texture.

STEP 44 / 6

Combine the curry powder and tomatoes

7 min

Step 4 of chakalaka: working curry powder into the oil, then adding tomatoes and vinegar to make a red sauce
Letting the curry powder touch the oil only briefly brings out the aroma and keeps bitterness away

Lower the heat and add 1 1/2 tbsp curry powder, 1 tsp paprika, and 1/2 tsp turmeric and fry for 30 seconds. When the powder has absorbed the oil and smells fragrant, add the tomato, 200 g canned tomatoes, 1 tsp raw cane sugar, 1 tbsp apple cider vinegar, and 100 ml water. Return to medium heat, bring to a boil, and cook 5–7 minutes, until everything is covered in red sauce. If the powder threatens to scorch on the bottom, add 1 tbsp water at a time to recover it.

STEP 55 / 6

Simmer the vegetables over low heat

15 min

Step 5 of chakalaka: simmering the vegetables in red tomato sauce over low heat and checking the carrots
Do not soften the carrots too much; make the sauce thick enough that the spatula track stays briefly

Once it boils, lower the heat, set the lid slightly ajar, and simmer 12–15 minutes. Aim for carrots that a skewer goes through but with slight resistance at the center, and a sauce thick enough that dragging a spatula across the bottom of the pan leaves a track that stays for about 2 seconds. If it is too watery, remove the lid and reduce over medium heat for 3–5 minutes. If the bottom dries out, add 1 tbsp water at a time.

STEP 66 / 6

Add the beans and adjust the seasoning

10 min

Step 6 of chakalaka: adding baked beans last and stirring gently so the beans are not crushed
Warming the beans briefly at the end lets them blend into the vegetable sauce while keeping their shape

Add 1 can (400 g) of baked beans in tomato sauce, with the liquid, and warm gently over low heat for only 4–5 minutes. Stirring hard splits the beans, so just turn from the bottom 2–3 times. Add 1/2 tsp salt and 1/4 tsp black pepper. If it needs more sourness, add vinegar 1 tsp at a time; if it needs more heat, add a little green chili or sambal. Turn off the heat and rest for 5 minutes. It is done when the sauce has regained its thickness, the beans shine on the surface, and it falls slowly from a spoon.

0 / 0
Ingredients

Ingredients

1 / 1

Ingredients

Ingredient Amount Role and substitutes
Onion 100 g (1/2) The sweet base. Yellow onion is fine
Carrot 120 g (1) Sweetness and bite. Cut into thin strips
Green pepper 150 g (2) A green aroma. Bell pepper (1) also works
Cabbage 100 g An ingredient that also appears in the hostel account. Optional
Tomato 150 g (1) Acidity and flesh. Fully ripe is best
Canned tomatoes 200 g Body for the sauce. Diced is fine
Baked beans in tomato sauce 400 g (1 can) Beans and a sweet tomato flavor. Canned beans can also be used
Garlic 1 clove The core of the aroma
Ginger 10 g Ties in the aroma of the curry powder
Curry powder 1 1/2 tbsp (about 15 g) The axis of chakalaka's aroma. Heat varies by brand
Paprika 1 tsp Color and a round, sweet aroma. Optional
Turmeric 1/2 tsp Color. The dish works without it
Raw cane sugar 1 tsp Smooths the edges of the tomato. White sugar also works
Apple cider vinegar 1 tbsp Acidity at the end. With white vinegar, adjust from 2 tsp
Vegetable oil 1 tbsp For frying
Water 100 ml For simmering. Add more depending on how dry the pan gets
Salt 1/2 tsp Adjust at the end, watching the salt in the beans
Black pepper 1/4 tsp To finish
Green chili 1–2 For heat. Serve on the side if you are setting some aside for children
0 / 0

The smell of curry rising from the pan, with the beans going in last

In the bottom of the pan the onion turns translucent, and the moment the curry powder goes in, the aroma leaps up. The sweetness of carrot, the sourness of tomato, and the heat of green chili overlap, and the outline of each vegetable stays visible in the red sauce. South African chakalaka looks like a stew, but when you scoop it with a spoon you can see the pieces: it is a vegetable relish.

The question is when to add the beans. Put them in from the start and the flavors blend, but the beans split and melt into the sauce. Here, the vegetables and spices simmer first and the beans go in for only the last 5 minutes. Whether you spoon it over pap (the staple porridge of maize meal) or serve it beside grilled sausage, the shape of the beans and the bite of the vegetables remain.

Chakalaka is a spicy vegetable dish eaten at South African homes and gatherings. It is not a dish whose birthplace or inventor can be pinned on one person. In an introduction by a South African cook on Woolworths TASTE, the origin is said to be unclear, and a story is told that miners in a hostel combined the onions, carrots, cabbage, beans, and curry-style aromatics they had on hand. This is not an established history of its origin; the safe way to take it is as a leading account that shows the dish was born in daily life.

National Geographic presents chakalaka as a dish tied to South Africa's townships, describing it as layered with Zulu, Dutch-speaking, English-speaking, and Indian influences. It is less a fixed recipe from one household than a dish in which the vegetables, the presence of beans, and the strength of the heat shift by region and by home. So even if you swap the green pepper for bell pepper or add cabbage in a home kitchen, as long as you keep the backbone of the flavor, the chakalaka character remains.

At the South African table, it sets the outline of flavor before the main dish

In South Africa, chakalaka is known as a dish served with pap or samp (crushed maize), or alongside the meat and sausages of a braai (an outdoor meal of grilled meat). A recipe posted by Nando's South Africa also shows it paired with pap, chicken, steak, and samp. A spicy vegetable stew is not fixed as a main dish on its own; it plays the role of adding acidity and aroma beside the meat or staple at the center of the table.

To recreate that role at home, it is easier at first to think of it as a "slightly strong side dish" rather than something to pour over white rice. The saltiness shifts with the liquid in the canned beans, and the sourness of tomatoes varies by variety. The key is not to over-salt at the start so that you can add vinegar at the end of tasting.

Another nice point is that it works not only warm but also as a cooled relish. Beside eggs in the morning, on toast at noon, beside grilled meat at night. It is a dish that is easy to carry over to the next day when made in a big pot, which is why the ingredients changed from home to home.

Ingredients (serves 4)

Ingredients for chakalaka: cut vegetables, tomato, beans, curry powder, ginger, and garlic laid out on a kitchen counter
Separate the vegetables and spices first so you do not miss the moment to add the beans

In baked beans, it is less the beans themselves than the sweet tomato liquid that adds body to the dish. If you use plain white beans or kidney beans, add 50 g more canned tomatoes and just 1/2 tsp more sugar. Because there is no saltiness from the can liquid, do not add all the salt at once at the end; taste first, then adjust.

Cabbage is not essential, but adding it increases the amount of vegetables and gives you ingredients that catch the sauce. Swapping bell pepper for the green pepper makes it sweeter, and for children, the safe approach is to take the green chili out of the pot and add heat only to the adults' plates.

Where to draw the line between what to buy and what not to

Onion, carrot, green pepper, cabbage, tomato, canned beans, and curry powder can all be had at an ordinary grocery store first. Chakalaka is not a dish that requires collecting expensive local ingredients; it is a dish that joins vegetables you already have through aroma and acidity. Buying something special does not make it more authentic.

On the other hand, if you want to add heat in small amounts, sambal oelek, a bottled chili paste, is easier to adjust than fresh green chili. It is not the same taste as South African peri-peri or fresh small chilies. It adds the flavor of chili paste and the saltiness of the product, so rather than adding a lot to the pot from the start, it is realistic to taste from 1 tsp.

The conditions for buying are that fresh chilies are hard to get each time, that you want to try spicy food in small amounts, and that you can reuse it for eggs, stir-fried noodles, and bean dishes besides chakalaka. The conditions for skipping are that you can buy fresh chilies nearby, that you will not use heat, or that you already have a hot sauce in the refrigerator. If you have a substitute, there is no need to buy anything.

Nutrition guide

Per serving Guide
Energy about 220 kcal
Protein about 8 g
Fat about 7 g
Carbohydrates about 36 g
Fiber about 9 g
Salt equivalent about 1.8 g

These are estimates from the vegetables, beans, oil, and seasonings. They vary with the size and saltiness of the baked beans and the amount of pap or rice you serve. If you pair it with a staple, it is easier to manage the total saltiness by serving 2–3 tbsp of chakalaka first rather than increasing the chakalaka itself.

Without pap, you can still make a place for it at the table

To lean toward the local combination, prepare pap or samp and set the chakalaka beside it. Pap is a staple made by cooking maize meal into a porridge, and a recipe booklet from the University of the Free State also introduces it as a dish served with chakalaka. On days you do not make pap, white rice, mashed potatoes, or thick toast also do the job of catching the sauce.

Serving chakalaka: a table with a vegetable and bean relish beside pap and grilled sausage
Put chakalaka beside the staple or meat and add acidity and heat with each bite

To pair it with meat, serve 2–3 tbsp chakalaka with a well-salted sausage or grilled chicken. The acidity cuts the fat, so salt and black pepper are enough for seasoning the meat. To serve it with eggs, spread reheated chakalaka in a frying pan, drop eggs into hollows, and cover. Turn off the heat when the whites have set and the yolks still wobble slightly, and you have a plate for breakfast.

Within South Africa, the table role differs among bunny chow (in Japanese), curry packed into bread; gatsby, fillings layered into a long Cape Town loaf; bobotie (in Japanese), topped with an egg custard; and potjiekos, cooked in layers without stirring. Chakalaka is not a dish that replaces the staple or the meat; it changes the impression of each bite from the side.

Six variations that widen it without changing the taste

Add more cabbage for a vegetable side

If you increase the cabbage to 200 g, use 120 ml of water for the simmer and extend the low-heat time by 2–3 minutes. Water comes out of the cabbage, so at the end remove the lid and bring back the thickness. Even if you reduce the beans, the sweetness of the vegetables and the curry aroma remain.

Add green beans for crispness

As in the recipe posted by Nando's South Africa, there is also a direction of adding parboiled green beans. Add 100 g salt-boiled green beans at the point you add the beans and the green color and crispness remain. If using frozen green beans, thaw and pat dry first.

Layer on acidity with achar

Adding 1 tbsp of mango achar or vegetable achar layers on an aroma that vinegar alone does not give. The saltiness and heat of the product can be strong, so halve the vinegar and green chili before adding it and decide the taste at the end. This is a home variation, not an essential ingredient of the basic recipe.

Leave out the beans and make a sauce for meat or eggs

Finished without beans, it is lighter as a vegetable relish. As a sauce for grilled chicken or as a bed under a fried egg, this form is sometimes easier to use. Reduce the water to 80 ml and be careful not to reduce it too far.

Carry it over to the next day as a cold side

Cooled, the aromas of vinegar and curry settle and it goes well with bread or boiled eggs. If it tastes strong straight from the refrigerator, leave it at room temperature for 10 minutes, mix in 1 tsp water, and then taste. Reheating too much splits the beans, so if you warm it, do so slowly over low heat.

Split the heat at the table

Rather than making the whole pot hot, put green chili or sambal on a separate plate, and adults and children can share the same pot. Adding heat at the table rather than in the pot lets you adjust while checking the sweetness of the tomatoes and beans.

How to rescue it when it goes wrong

State Main cause How to fix it
Watery Too much water from vegetables or tomatoes Remove the lid and cook over medium heat for 3–5 minutes. Return to low if it threatens to scorch
Sour Vinegar added too early, or underripe tomatoes Add sugar 1/4 tsp at a time, cook 2 minutes, and check again
Sweet The baked beans carry a lot of sugar Add vinegar 1 tsp at a time and restore the outline with black pepper
Too hot Chili or sambal added all at once Add canned tomatoes, cabbage, or beans, and adjust the salt last
Beans broke up Cooked from the start, or stirred too much Add beans for only the last 2–3 minutes. Next time, turn with the spatula fewer times
Vegetables hard Cut too thick, or simmered too briefly Add 2 tbsp water, set the lid ajar, and extend the low heat by 5 minutes

When correcting the taste, check acidity and sweetness before adding salt. Chakalaka works whichever of the beans, tomato, vinegar, or curry powder comes forward, but if you increase everything at once the outline blurs. Moving one at a time in teaspoon units tells you what you fixed.

Storage and safe-eating guidelines

Once the heat has dropped, move it to a shallow container and refrigerate. The recipe booklet from the University of the Free State gives refrigerator storage of pap and chakalaka as 2–3 days. It varies with your refrigerator's temperature and how you portion it, so use a clean spoon and do not eat it if there is any off smell, change in the surface, or abnormal sourness.

To freeze, portion it into single servings, expecting the beans to split a little. Thaw in the refrigerator, move it to a pot, and warm over low heat. Adding 1–2 tsp water makes it easier to bring back, and not boiling it continuously keeps the shape of the beans. If you serve it with pap or rice, store the staple separately.

Canned goods, achar, and sambal oelek differ in ingredients by product. Some carry labels for soy, celery, or spices, so if you have allergies, check the label before buying. This recipe uses no meat and can be made entirely from plant-based ingredients, but decide only after checking the labels on the baked beans and seasonings.

Frequently asked questions

Q1. Is chakalaka a curry?

It uses curry powder, but chakalaka is not a curry itself; it is a relish of vegetables and beans. Rather than making it saucy and pouring it over rice, leaving the pieces and the acidity and placing it beside pap, meat, or eggs comes closer to the dish's role.

Q2. What if my curry powder is hot?

Reduce the curry powder to 1 tbsp and add 1 tsp more paprika. The depth of aroma is a little lighter, but if you serve the green chili on the side, you can make the pot for children and adults together.

Q3. I do not have baked beans.

Canned white beans or kidney beans can stand in. Add 50 g more canned tomatoes and 1/2 tsp more raw cane sugar, and decide the salt at the end. If you drain the bean liquid too thoroughly and it dries out, add 2 tbsp more water for the simmer.

Q4. What can I use in place of pap?

Staples that can catch the sauce, such as white rice, mashed potatoes, bread, and couscous. To lean toward the local table, you can also make soft polenta from maize meal.

Q5. Is it all right to eat it cold?

If it was portioned cleanly and refrigerated, you can eat it as a cold side. Chilling brings the sourness forward, so take it out 10 minutes before eating and taste it. Avoid anything left at room temperature for a long time, even if the smell and state seem fine.

Q6. Do I have to buy sambal oelek?

It is not essential. If fresh green chilies, peri-peri sauce, or a hot sauce you already have are enough, skip it. Only when the conditions line up (you want to adjust heat in small amounts, and you also want to use it with eggs or noodles), choose one after checking the size and ingredients on the product label.

Sources