Place the tofu in a shallow bowl and put a small plate directly on top of the tofu. Put something heavy, like a can of soup on the plate and leave for 20 minutes. Drain away excess water and chop the tofu into cubes. Return cubes to the bowl and toss with the soy sauce, leaving to marinade for 20 minutes, turning occasionally.
Heat 1 tbsp oil in a frying pan over medium-high heat. Add the sliced onions and sauté for 5 minutes. Reduce heat to low and continue to cook, stirring occasionally for another 20 minute.
Heat 1 tbsp oil in another frying pan over medium-high heat. Pan-fry the marinaded tofu for 2-3 minutes each side until golden. Set aside and keep warm.
Bring large pan of salted water to a gentle boil. Add the carrots and cook for 2 minutes. Add the cauliflower and cook 2 minutes more. Add the broccoli and cook further 2 minutes. Add the snow peas for 1 minute, then drain all the vegetables in a colander.
For the Sambal Kacang:.
Heat the oil in a saucepan over medium heat. Add the shallots and garlic, then sauté until soft. Add the spices and stir until fragrant, cooking approx 1 minute. Add the remaining ingredients and stir well, it should be quite thick, over medium heat. Remove from the heat until ready to serve.
You may need to add a little bit of water if too thick or when re-heating.
To serve, heat the Sambal Kacang until hot (add water if too thick). Divide the vegetables amongst the tofu and spoon sauce over the top. Garnish with pea shoots, sprouts and/or hard-boiled eggs.