Place a large heavy bottom pot or a dutch oven over the stove on medium heat and add a bit of oil with 1-2 tablespoons of butter
When the pot is hot, add the beef in one at a time, careful not too crowd it too much. Brown the beef in batches. (The beef browns better if you touch it less, it gives it a chance to form a crust)
Once all the beef has browned, add all the beef back in and add in the chopped onions, garlic, ginger, lemongrass, cinnamon stick and star anise and toast it with the meat for about 5 minutes
Add in the tomato paste and mix everything well, cook for another 2-3 minutes
Add in the cooking wine, beef broth and bay leaves and gently scrape the bottom of the pan if there are brown bits stuck to the bottom (this is flavor).
Bring it to a boil. Once it has started boiling, reduce the heat to low and put a lid on it and let it simmer. Set a timer for 2 ½ hours. (If you are using oxtail or beef shank, you will need to cook it a lot longer, by approximately 1 hour more)
Once 2 ½ hours have passed, stir the stew and check the beef for tenderness. If it is still tough continue to cook it for another 30 minutes. If the stew needs more liquid, add more beef broth or water.
Once it is tender, add in the carrots and continue to cook it for another 30 minutes with the lid on until the carrots are soft
Add the fish sauce and adjust it to your taste
Fish out the lemongrass, star anise and bay leaves and serve with a Vietnamese baguette or with rice.