Squeeze any excess liquid from the block of tofu and pat dry with kitchen paper. Slice the block into three large rectangles, then slice each rectangle into three long 'fingers' of tofu. Pat dry again.
Mix all the marinade ingredients together in a large tub and place all the tofu fingers into the marinade, turning until they are fully coated. Chill for at least 30 minutes or overnight.
Preheat the oven to 200°C (fan) / 400°F / Gas Mark 6.
Make the peanut sauce:
Peel and chop the onion as finely as possible. De-seed and slice the chilli.
Heat the oil in a frying pan and gently fry the onion and chilli. After 3-4 minutes add the thai curry paste, and continue to cook gently for 2 minutes more.
Add the coconut milk and sugar, and simmer until starting to thicken, then finally stir through the peanut butter.
Continue cooking gently until the peanut butter has completely melted into the sauce, then add the juice of the lime.
Bring the sauce back to a simmer, and if it is too thick, add water until it is a glossy dipping consistency. Remove from the heat and set aside.
Bake the tofu (to cook the tofu in an air fryer or BBQ see notes below):
Oil a large baking tray, and place each of the fingers of tofu on the sheet, spaced apart a little. Keep the remaining marinade aside.
Bake for 25-30 minutes turning occasionally, until the tofu is browned and crisp on the outside. Each time you turn them, brush them with a little of the remaining marinade.
Remove from the oven and carefully put a wooden skewer through each piece of tofu. Reheat the peanut sauce if required and serve immediately.
To cook the satay tofu on the BBQ I would recommend pre-cooking for 20 minutes in the oven first to get a crispy coating and chewy texture, then finishing on the BBQ for 6-8 minutes until golden brown with charred edges.To cook the satay tofu in an air fryer cook at 180°C for 10-12 minutes. Half way through cooking, turn them and brush with a little more of the marinade.