Heat the vegetable oil in a large skillet over medium-high heat.
Add the minced garlic and ginger, sautéing for about 30 seconds until fragrant.
Add the chopped onion to the skillet and cook for 2-3 minutes, until softened.
Stir in the ground beef and cook until browned, breaking it apart with a wooden spoon. This should take about 5-7 minutes.
Once the beef is browned, drain any excess fat if necessary.
Add the shredded carrot and chopped bell pepper to the skillet, stirring to combine.
Pour in the soy sauce, hoisin sauce, rice vinegar, sesame oil, and red pepper flakes. Stir well to coat the beef and vegetables in the sauce. Cook for an additional 2-3 minutes until everything is heated through.
Remove the filling from heat and let it cool slightly.
Carefully separate the leaves of the lettuce head. Spoon the ground beef mixture into each lettuce leaf, and top with chopped green onions and cilantro if desired.