Stand the tomatoes on a chopping board. Slice the tops off the tomatoes. Scoop out the pulp with a small spoon (keep it in a bowl for later use).
Drain the tofu then crumble it with your fingers (or with a fork). In a bowl, mix the tofu, chopped shiitake mushroom, ginger and all the seasonings for the stuffing.
Fill the tomato shells with the stuffing mixture. Top up the tomatoes with the remaining stuffing to form a nice round top.
Place stuffed tomatoes into a steamer (see note 3). Cook for 10 minutes over medium heat.
While waiting, prepare the sauce. Discard the hard lumps in the pulp of the tomatoes. Keep the juice (and the seeds). Heat up the oil in a sauce pan over a medium heat. Stir in spring onion then fry until fragrant. Add the juice, soy sauce, vinegar, rice wine, salt and sugar. Bring it to a boil. Pour in the starch & water mixture (stir well beforehand). Cook until the sauce has the desired thick consistency.
When the stuffed tomatoes are cooked, place them onto serving plates. Pour the sauce over. Sprinkle some chopped spring onion as a garnish.