In a large pot, heat some oil over medium heat. Add the minced garlic, chopped onion, and grated ginger. Sauté until fragrant and the onions are translucent.
Add the beef shanks to the pot and brown them on all sides. This step adds depth of flavor to the dish.
Stir in the tomato paste and cook for a minute to enhance its flavor.
Pour in the beef broth and add the annatto powder, bay leaves, black peppercorns, and salt. Stir well to combine.
Bring the mixture to a boil, then reduce the heat to low. Cover the pot and let the balbacua simmer for about 2 to 3 hours, or until the beef shanks are tender and the flavors have melded together.
Once the beef shanks are tender, add the bok choy, eggplant, string beans, and chili peppers (if using). Cook for an additional 10 minutes, or until the vegetables are cooked to your desired tenderness.
Remove the bay leaves from the pot and discard them.
Serve the balbacua hot, garnished with chopped green onions. It pairs well with steamed rice or crusty bread.