For the meatballs, take the seeds out of cardamom, place into a coffee grinder or pestle and mortar with the coriander and grind to a fine powder. Chop the garlic with the salt until it forms a paste, or add it to the pestle and mortar.
Place the beef and pork into a bowl and mix together vigorously to soften the texture – this will help stop the cheese escaping.
Add the ground spices, turmeric, chilli powder and garlic then mix really well with your hands and add the beaten egg.
Wet your hands, take pieces of the mixture and form into meatballs the size of ping-pong balls. You should have about 12 meatballs.
Lightly oil a clean work surface with a little of the groundnut oil and gently press the balls into flattened circles
Put a teaspoon of cream cheese in the centre of each meat circle and carefully bring the meat up round it to enclose the cheese completely, making rather larger meatballs. Roll gently and make sure there are no holes.
Heat a frying pan until hot, add the remaining oil and fry the meatballs for 10 minutes over medium high heat, turning regularly. Place the meatballs into a serving dish and keep warm.
Turn the heat right up then add the tomatoes to the pan, flash-fry them quickly then remove the pan from the heat and stir in the the yoghurt.
For the salad, toss together the leaves and herbs in a large bowl. Whisk the vinegar, mustard and olive oil together and season with salt and black pepper, then toss together with the salad leaves.
To serve, arrange the salad around the edge of a platter then place the meatballs in the centre. Pour the tomatoes over the meatballs and garnish with the chopped coriander, almonds and fried shallots.