This rich, earthy soup is given the perfect amount of tang from soy sauce and ginger. To make it vegetarian, substitute the chicken stock with vegetable stock.
Drain tofu, and place on several layers of paper towels. Cover tofu with several more layers of paper towels; top with a cast-iron skillet or other heavy pan. Let stand 30 minutes. Discard paper towels. Cut tofu into 1-inch cubes.
Bring 1 ½ cups water to a boil in a small saucepan; remove from heat. Stir in mushrooms; let stand 30 minutes. Stir in broth and next 6 ingredients (through garlic); bring to a boil. Reduce heat, and simmer 10 minutes, stirring occasionally. Combine ¼ cup water and cornstarch in a small bowl, stirring with a whisk until smooth. Stir cornstarch mixture, tofu, and bamboo shoots into broth mixture; bring to a boil. Cook 1 minute, stirring occasionally; remove from heat. Drizzle egg into broth mixture (do not stir). Place pan over low heat; cook 1 minute. Stir soup gently to combine. Sprinkle with onions.