Soak shiitake mushrooms in water overnight. Squeeze dry and slice them into cubes. Top up the mushroom water with plain water or stock until you have 1 litre of liquid. Set aside.
Rinse and dry pork belly thoroughly with paper towels. Cut into 3/4 to 1-inch cubes.
Heat a large pot over medium heat. Add in oil then add in garlic, ginger, star anise and cinnamon stick. Cook, stirring frequently, until fragrant, about 2 to 3 minutes.
Add the pork belly into the pot. Cook until most of the pork belly cubes are no longer pink, then add in the 1 litre of mushroom-water-stock liquid, shiitake mushroom cubes, dark soy sauce, Shaoxing wine, light soy sauce, oyster sauce, sesame oil, five spice powder, rock sugar and fried shallots. (Basically, everything except the hard-boiled eggs, firm tofu, rice and fresh coriander.)
Cover and bring to a boil. Turn the heat down and simmer for 1 hour, stirring occasionally (every 10 to 15 minutes).
Add in the hard-boiled eggs and firm tofu and simmer for another 30 minutes, stirring frequently (every 5 to 10 minutes), until the eggs and tofu are evenly coloured. You will need to stir more frequently as the sauce is drying up and the meat may get burnt at the bottom. Add in more water if the mixture looks dry.
Scoop rice into rice bowls and place an egg and tofu on top. Scoop the meat mixture generously onto the rice. Garnish with fresh coriander and serve immediately.
- If you forgot to soak the shiitake mushrooms overnight, boil them with water in a pot for 20 minutes until soft. Let cool and proceed according to recipe.- I used store-bought fried shallots, but you can also make them from scratch at home if you have the time. - If you are making a huge batch to freeze, after 1 hour of simmering, scoop out whatever you are planning to serve that day and braise it together with the eggs and tofu. Let the rest cool and freeze in individual portions.- Eggs are not added at the start as the texture will become rubbery if boiled for too long.