Place the beef bones in a large pot filled with enough water to cover. Bring to a boil over high heat. Boil the bones on high heat for 5-10 minutes. The impurities will rise to the top. Then dump out the whole pot and rinse the bones well under running water. Wash the pot clean. This is a very important step to keep the broth clear and it will save your time skimming off the scum later.
Place the parboiled and rinsed bones back to a large stock pot and fill with water, about 5 liters. (If you use the same pot, make sure you wash it clean before putting the bones back. It is very crucial for a clear broth). Add 1 peeled onion, 1 tbsp salt and 1 tbsp sugar (preferably rock sugar, but caster/brown sugar is fine, too). Bring to a boil and simmer under medium low heat. Occasionally skim off the scum and the fat. Do not cover the pot, otherwise the broth may lose its clarity.
To create the PHO aroma, grill the rest of the onion, ginger slices, star anise, cinnamon sticks and black cardamoms directly on an open flame stove until slightly charred on both sides. You can also use oven for this step. Peel the grilled onion and scrape off the charred part. Try to keep the stem and not let the onion layers fall apart. You can also rinse off the black char bits under warm running water. Wrap the small spices in a large tea/spice bag or a piece of cheese cloth. Drop the bags into the stock pot.
Depending on the cut of beef, it might take 1-2 hours to cook. When the meat is cooked, remove and soak in a bowl of cold water for 5 minutes to prevent the beef from drying up or turning dark. Then drain and slice thinly into bite-sized pieces.