Heat a frying pan. Tip in the peanuts and toast for 3-4 mins till golden and nutty smelling. Tip onto a clean tea towel. When cool, rub off the skins.
Tip the penne into a large pan. Cover with boiling water. Cook for 8 mins till al dente (soft but with a slight bite).
While the pasta cooks, halve the avocado and scoop out the flesh, discarding the stone. Place in a large bowl.
Peel and crush the garlic. Finely chop the coriander and dill stalks, reserving the leaves and fronds. Add the garlic and herb stalks to the bowl with the avocado.
Zest and juice half the lemon into the bowl. Roughly chop the peanuts and add half of those. Pour in 2 tbsp olive oil, season with salt and pepper and mash together. If you have a food processor, whizz all the ingredients in that till smooth.
Drain the pasta, catching a mugful of the water. Then tip the pasta back into the pan. Add in the baby leaf spinach and stir through the hot pasta to wilt it slightly. Fold through the avocado and peanut sauce with a trickle of cooking water to loosen if necessary. Taste and adjust the seasoning.
Spoon the dressed pasta into warm bowls. Scatter over the remaining peanuts, coriander leaves and dill fronds. Serve with a wedge of remaining lemon.