Start by marinating the tofu. Put all the ingredients, except the tofu, into a large bowl and mix with a wooden spoon to combine. Add the tofu pieces, cover with plastic wrap (cling film) and let them marinate at room temperature for at least 30-60 minutes. The tofu will taste better the longer you marinate it.
When ready to cook, bring the coconut milk, shallots, lemongrass, galangal, and makrut lime leaves to a boil in a large saucepan over medium heat. Add the tofu and any marinade that’s left in the bowl, reduce the heat, and simmer for 10 minutes. Add the tomatoes, mushrooms, chillies, and salt, and simmer for another 10-15 minutes.
Meanwhile, make the vegetable noodles by using a spiralizer or julienne peeler to shred the vegetables into noodle-like strips. Set aside. To serve, put the vegetable noodles into the soup bowls, pour the soup over them, and top with cilantro (coriander) leaves and lime wedges.