Begin by roasting the tomatoes. Depending on the size, either halve or quarter them. Place them in a roasting tin, ideally in a single layer, drizzle with rapeseed oil, sprinkle with garlic granules, season and roast at 200˚C/Fan 180˚C/Gas mark 6 for 30 minutes,
Remove from the oven, and once they are cool enough to handle, blitz with a stick blender.
While the tomatoes are roasting, make the meatballs. Start by frying the chopped onion in 1 tablespoon of oil on a gentle heat for 5 minutes. Add the garlic, chilli powder and cumin, and cook for 2-3 minutes.
Leave to cool. Meanwhile, put the mince, eggs and breadcrumbs in a mixing bowl, season and add the cooled onion mixture. Mix well using your hands, and then roll it into meatballs.
Heat 1 tablespoon of rapeseed oil in a deep wide frying pan. Brown the meatballs in batches, setting them aside as you go.
To make the sauce, add the onion to the meatball pan, along with more oil if required. Cook for 5 minutes, until softened, then ad the chopped pepper and cook for a further 5 minutes. Add all the spices and herbs, and stir everything for a few minutes.
Add the blitzed tomatoes and stock, and simmer for 15 minutes, uncovered, until the mixture has thickened.
Add the meatballs and kidney beans, and then simmer for a further 20 minutes.
Sprinkle over the coriander and serve with the rice, cheese, soured cream and more coriander.