In a large bowl, whisk together all the marinade ingredients. Add the drained soy chunks and mix well to coat. Cover the bowl, and leave in the fridge to marinate for 1–4 hours – the longer, the better. Soak 24 wooden skewers in a bowl of cold water (this will prevent them burning on the hot chargrill pan or barbecue later).
Meanwhile, make the satay sauce. Heat the oil in a large non-stick saucepan over medium-high heat and fry the shallot, lemongrass and garlic until fragrant and soft, about 3 minutes. Add the spices and chilli and continue to fry another 3 minutes. Next, stir in the sugar, tamarind and soy sauce and mix well before pouring in the coconut milk. Lower the heat and gently bring to a simmer, then cook for 5 minutes, taking care not to let it boil as this can cause the coconut milk to split and become oily. Stir in the peanuts and peanut butter and keep cooking over low heat, stirring frequently, until the sauce reaches your desired thickness. I usually go for about 4 minutes for a runny but firm sauce – perfect for satay!
Heat a barbecue or chargrill pan to high heat. Use a skewer to pierce a soy chunk and then keep threading them along the skewer to form ‘kebabs’ until all the chunks have run out – I usually aim for four or five chunks per skewer. Cook the satay skewers for about 3–4 minutes on each side, using a pair of tongs to turn them, until golden brown all over and flecked with darker brown crispy bits.
Serve them straight off the grill with compressed rice, lime halves, some cucumber slices for freshness, and the peanut sauce on the side.