In a food processor, combine 1/2 onion cut into chunks, garlic, and ginger. Whizz until pureed. You may have to scrape the bowl down several times during the process. (Alternately, you can grate the onion and mince the garlic and ginger.) Scrape into a large bowl.
Add 1/2 onion (thinly sliced), green onions, soy sauce, sugar, Mirin or rice wine, sesame seed oil, and sesame seeds. Mix with a spoon until combined.
Add beef and mix well with hands. Let sit at room temperature for 30 minutes.
Heat a well seasoned cast iron skillet over medium high heat. When the cast iron is hot, add 1 Tbsp neutral oil and swirl around in the pan. The oil should be smoking. Add bulgogi in one layer, making sure not to overcrowd the pan. When the bulgogi looks brown and crispy on the edges, flip and finish cooking. Transfer to a serving plate and cover loosely with aluminum foil. This should take 2-3 minutes per side.
Keep cooking the bulgogi in batches. Do not touch or disturb the meat while it cooks; this will ensure caramelized bits. In between batches, scrape down the skillet with a metal spatula to remove leftover marinade, and add an additional 1 Tbsp neutral oil.
Garnish bulgogi with additional green onion and sesame seeds. Serve with lettuce wraps, rice, and kimchi for a complete meal. Ssam sauce is also a nice addition.