Chakalaka is a traditional South African vegetable relish consisting of root vegetables combined with tomatoes and spices. Bursting with delicious flavours, this versatile dish can be eaten as a side, relish or condiment.

Top view of chakalaka in a white plate on a wooden board and a wooden spoon

What is Chakalaka

The origins of the recipe for chakalaka are to this day still unclear. Urban legend has it that it may have originated from the Mozambican people who worked in the goldmines around Johannesburg. They would prepare a mix of canned produce, like beans and tomatoes, with any available fresh vegetables. This vegetable dish would then be eaten as a condiment or side dish together with ‘mielie pap’, which is a corn based porridge similar to polenta.

Chakalaka has in the meantime been integrated into the general South African food heritage by all cultures of the Rainbow Nation, as South Africa is also known. It is still served as a side dish with pap, but also as a relish with a curry, a stew or with a typical South African ‘braai’ (barbeque).

For some people, chakalaka is served during gatherings or celebrations, for others, it is considered a staple food and served during any random day of the week.

close up view of chakalaka recipe from south africa with chilli, bell pepper, onions, cabbage and tomatoes

Which ingredients to use

Not only is chakalaka a very versatile dish, it also comes in many different tastes and flavours. There isn’t any single traditional recipe for chakalaka since it will vary per region, per family and per personal taste. However, there are some basic ingredients that form the base of this dish.

Most recipes will use tomatoes, onions, carrots and various spices, like garlic, ginger and curry powder as key chakalaka ingredients. Depending on if it’s going to be served as a side dish, relish, condiment, salsa or even as a main dish, more ingredients and spices can either be added or left out.

I usually like to add cabbage, bell peppers and baked beans to this dish and to make it medium spicy. Other vegetables like butternut, corn, zucchini and baby marrow work great in this dish and can be added as well.

long image of south african vegetable relish chakalaka on an african printed tablecoth with garlic and chilli

How to make chakalaka

Note: All the exact quantities of the ingredients can be found in the recipe card at the bottom of this post.

This vegetable relish comes together in under 30 minutes. However, for the flavours to fully bloom, make the homemade chakalaka a few hours in advance or even a day before. Follow below steps to know how to cook chakalaka to perfection.

  • Prepare the vegetables:
    Start by chopping, grating and dicing all the vegetables. The final cooking time will depend on how thick the vegetables are cut. I would suggest to grate the carrots and shred the cabbage. If the carrots are diced or chopped, the cooking time will increase and the other vegetables will become too soft. By grating the carrots, shredding the cabbage and finely dicing the bell peppers, all the vegetables will blend much better with the spice mix.

  • Cook the vegetables:
    Heat oil in a large saucepan add the vegetables according to their cooking time. Start by sautéing the onions until translucent. Stir in bell pepper, garlic, ginger and chilli peppers. Add the carrots, cabbage and spices and stir regularly to prevent burning. Make sure all the vegetables are coated in the spice mix.

  • Simmer the chakalaka sauce:
    Add the tomato paste, tomatoes and baked beans and cook covered with a lid until the vegetables are cooked through but still have a little bit of crunch. Season to taste.

  • Serve:
    You can serve the chakalaka immediately, but preferably let it rest for at least an hour so all the flavours can fully develop.
4 images with step by step instructions how to make chakalaka

Serving suggestings

Chakalaka is a typical South African dish that can be eaten in so many different ways. It can be served hot or cold and prepared mild, medium or very spicy. It can have either a thicker or more liquid consistency and more or less vegetables can be added. All this depending on the occasion for which it will be served.

close up of south african chakalaka with beans, tomatoes, onions, cabbage and spices

In South Africa, it is often served as a side dish or relish with a braai (South African barbecue). It pairs perfectly with grilled meat and fish, with South African braaibroodjies, or as a relish with sausages in which case serve it according to this chakalaka recipe, but you can leave out the beans to make it less heavy. Serve the relish hot or cold.

Chakalaka works really well as a warm side dish with corn porridge (pap) as it was traditionally used, but it also goes well with plain or yellow rice. As a side dish with a stew or a curry, like with this South African bobotie, it can be served either warm or cold.

More side dish recipes you should try

close up of south african chakalaka with beans, tomatoes, onions, cabbage and spices
Print Recipe Save Recipe
5 from 4 votes

South African chakalaka

Chakalaka is a traditional South African vegetable relish consisting of root vegetables combined with tomatoes and spices. This versatile dish is bursting with delicious flavours which can be enjoyed as a side dish, relish or condiment.
Prep Time10 minutes
Cook Time20 minutes
Total Time30 minutes
Course: Side Dish
Cuisine: South African
Servings: 4
Calories per serving: 180kcal
Author: Sabine


  • 1 medium onion diced
  • 1 red bell pepper seeded and diced
  • 1 green bell pepper seeded and diced
  • 3 large carrots peeled and grated
  • 3 cups (or 200 g) cabbage shredded
  • 7 ounces (or 200 g) baked beans in tomato sauce
  • 2 chilli peppers diced
  • 2 cloves garlic minced
  • 1 tablespoon fresh ginger grated
  • 14 oz (or 400 g / 1 can) tomatoes peeled and chopped
  • 2 teaspoons tomato paste
  • 2 tablespoons cooking oil
  • 2 tablespoons curry powder
  • 1 tablespoon paprika powder
  • 1 teaspoon thyme
  • salt and pepper to taste


  • Heat some oil in a large saucepan over medium heat. Add the diced onions and sauté for 3 minutes until translucent. Add the bell pepper, garlic, ginger and chilli peppers and fry for 3 minutes.
  • Add the carrots and cabbage and mix well. Stir in the curry powder, paprika, thyme salt and pepper and cook for 2 minutes.
  • Add the tomato paste, tomatoes and baked beans. Stir well. Bring to a simmer, cover with a lid and cook for 5-10 minutes on low heat. The chakalaka is ready when the vegetables are slightly soft and cooked through but still have a bit of a crunch to them.
  • Season with salt and pepper to taste and serve with fresh thyme.


  • Spicy or not: Seed the chilli peppers to make this dish mild and leave them in or add extra chilli to make it more spicy.


Calories: 180kcal
Tried this recipe?Mention @thetastychilli or tag #thetastychilli!

Did you make this recipe? I’d love to hear how it turned out! Leave a comment with rating below and share a picture with the hashtag #thetastychilli and tag me on Instagram, Facebook or Twitter.

Inspired to prepare this recipe? Don’t forget to pin it to your Pinterest boards for later:

2 images of south african vegetable relish which is chakalaka
south african chakalaka recipe on a wooden board
Share this recipe