I've been making this since my undergrad days, since takeout pho is very yummy but a tad expensive if you consider what's actually in there. If you own a crockpot, instant pot, or even just a large regular pot that you're willing to watch all day, this recipe will bring you delicious pho beef broth by the end of a workday.
Word to the wise on buying spices: always check the "Hispanic foods" area - they're more likely to have these whole spices (not ground) and they are so, so, so much cheaper/better than the fancy spice aisle brands. Also a good question - where do I find beef bones? They'll be in the frozen section in a bulk bag, often near things like tripe or maybe even seafood. I've found them at stores like WinCo and Asian markets. You can also ask your local butcher if he has any stock beef bones, and maybe they'll cut you a deal. They should not be expensive, and they won't have any meat on them.
Now I got my recipe from reading a bunch of things online and then slowly adapting (read = forgetting over the years) it to account for my tastes and what I could easily find in the store. I'm not claiming it is authentic, just that it is tasty. This recipe is for a standard-sized crockpot, and the measurements are quite forgiving (i.e., if you are short on one thing, don't sweat it).
Fish sauce - if you really can't find it, you can use salt...but you're missing out
Fennel seeds (but I don't like these so I leave them out)
First, you want to pre-boil the bones (3-4 small or 2-3 large bones) to get rid of the scum. Do this on the stovetop by covering the bones in water and bringing to a boil until you start to see green-ish foam. Let it boil for a few minutes, and then rinse the bones of this scum. You can now put the bones in your crockpot.
Next, you want to toast these whole spices in a dry, hot pan:
2 cinnamon sticks
1.5 tbsp coriander seeds
~6 star anise
1 tsp cloves
~4 cardamom pods
1 tsp fennel seeds (but again, I hate them)
[you can always increase these amounts if you want]
Next, blacken these aromatics in the same toasty pan after you've removed the spices:
1 small onion, cut in half
4, 1 cm slices of ginger root (you can leave the skin on)
Put your aromatics and spices into the crockpot with the bones, and fill it near the top with water. Probably leave about an inch at the top so it doesn't splatter all day. At this point, you'll want to add ~1/4 cup of fish sauce - this is super important for adding salt to the broth. If you don't do this, it will be bland. Sometimes I forget it and the difference is very apparent.
After 8+ hours, strain into jars/tupperware. You also might want to use a cold ladle to draw the oil off of the top, but that's optional.
Now you can enjoy with rice noodles (called rice sticks sometimes), bok choy, jalapeños, beef balls (found at the Asian market) or thinly sliced brisket, bean sprouts, cilantro, sliced onion, and whatever else you have lying around. The sauces typically served with pho at restaurants are sriracha and hoisin sauce, and sometimes chili crisp. This is a comforting broth that will take well to almost any ingredient, so get creative!