Simmer the beef: Place the beef, onion, garlic, ginger, and the white parts of 2 scallions in a large pot.
Add 10 cups of water. Bring to a boil, then reduce to a gentle simmer. Cook uncovered for 1.5–2 hours, skimming foam as needed, until the beef is very tender.
Strain and shred: Remove the beef to a cutting board and let it cool slightly.
Strain the broth, discard the solids, and return the clear broth to the pot. Shred the beef into bite-sized strands with forks or by hand.
Make the chili oil base: In a skillet, heat neutral oil over medium. Add gochugaru and stir for 30–45 seconds until fragrant and brick-red.
Add minced garlic (2 extra cloves if you like), a drizzle of sesame oil, and the scallion pieces. Cook 1 minute more. Do not let the chili burn.
Build the soup: Stir the chili oil mixture into the broth.
Add soy sauce, fish sauce, and gochujang (if using). Bring to a simmer and taste. Adjust salt and heat by adding more soy or gochugaru as needed.
Add vegetables and beef: Add shredded beef, bean sprouts, mushrooms, and gosari (or spinach if substituting).
Simmer 8–10 minutes until the vegetables are tender but still have some bite.
Finish with eggs and sesame oil: Lower the heat so the soup is gently bubbling. Create a small whirlpool with a spoon and slowly drizzle in beaten eggs in a thin stream to form ribbons. Turn off heat.
Add remaining sesame oil and a few cracks of black pepper.
Serve: Ladle into bowls. Top with extra scallions and a sprinkle of gochugaru if you want more kick. Serve hot with steamed rice and kimchi.