Heat the oven to 180C (160C fan)/350F/gas 4. Put the cashews in a bowl, cover with just-boiled water and leave to soak for 15 minutes.
Cut the aubergine into 1cm cubes, put on an oven tray and toss in a little olive oil with half a teaspoon of salt and the two crushed garlic cloves. Bake for 15-20 minutes, stirring once halfway, until caramelised and golden, then remove and set aside. Meanwhile, put the tomatoes on a second baking tray, drizzle with a little oil,toss to coat, then roast alongside the aubergine for the last 10 minutes of its cooking time, until lightly blistered.
Drain the cashews and put them in a blender with the roast tomatoes, a teaspoon of salt, the smoked tofu, tomato paste, cayenne, the peeled garlic clove, the lemon juice and zest, and black pepper to taste. Blend smooth, then add more salt and/or lemon juice to taste.
Put a nonstick frying pan on a medium heat, add a tablespoon of oil, then sweat the shallots, stirring, for three to four minutes, until translucent and softened. Add the butter beans and roast aubergine, cook, stirring, for a minute or so, then add enough of the tomato and tofu sauce to bind the mix – should you end up with surplus sauce, it will keep for three days in the fridge and doubles up as a nice dip. Heat through, loosen with a little water, if need be, and check the seasoning one last time.
Spoon into a bowl, tear the herb leaves over the top, drizzle with some extra-virgin olive oil and serve.