For the pesto, crush the garlic and add to a small bowl with the lemon juice and set aside for 20 minutes – this softens the bite of the raw garlic.
Rehydrate the tofu by soaking the whole pieces in warm water until soft, for approximately 5 minutes.
Squeeze each piece well to remove any excess water, then return to fresh water for a few seconds and squeeze again until the water runs clear.
To make the marinade, blend the dried chilli, mushroom and black peppercorns to a powder in a spice grinder and add to a medium bowl.
Crush the garlic and add to the other seasonings. Pour over the soy sauce and add the same quantity of water (100 g). Stir the marinade to combine and leave for 10 minutes to rehydrate the dried seasonings.
Pour half the marinade into a flat-bottomed plate and arrange the rehydrated tofu pieces in an even layer – you may need 2 plates depending on the size. Distribute the rest of the marinade over the tofu pieces and leave to soak for about 30 minutes.
To finish the pesto, add the softened garlic to a food processor with the salt and coriander (cleaned roots included if using Asian coriander) and blend to break down the herbs. With the food processor running, drizzle in enough oil to make a spoonable, glossy pesto and set aside until ready to serve.
To make the tempura batter, combine all of the ingredients in a medium bowl and whisk until fully blended and lump-free – the batter should be the consistency of double cream.
Heat a large, heavy-bottomed frying pan (I used a cast-iron skillet) over medium heat. Squeeze most of the marinade out of each tofu steak.
When the pan has come to temperature, add about a tablespoon of oil and swirl to coat. Working quickly, dip each steak into the batter, dripping off any excess, and add to the frying pan. You may need to work in batches if your pan isn’t big enough.
Cook the tofu steaks until well browned on each side, flipping the tofu halfway – you may need to add another tablespoon of oil at this point. Drain briefly on paper towels. Either serve immediately or keep warm in a low oven.
To assemble, layer the ingredients into the sourdough buns and serve.