Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) ground beef, 85–90% lean
- 1 tbsp neutral oil (canola, avocado, or vegetable)
- 1/2 medium yellow onion, finely diced
- 3 cloves garlic, minced
- 2 tsp fresh ginger, finely grated
- 3 tbsp soy sauce (low sodium if possible)
- 1 1/2 tbsp gochujang (Korean chili paste), or to taste
- 1 1/2 tbsp packed brown sugar
- 1 tbsp honey
- 1 tbsp rice vinegar
- 1 tbsp toasted sesame oil
- 12 large butter lettuce or Bibb lettuce leaves
- 2 cups loosely packed shredded carrots
- 4 scallions, thinly sliced (whites and greens separated)
- 2 tbsp toasted sesame seeds
- Optional: red pepper flakes, lime wedges, extra gochujang
Do This
- 1. In a small bowl, whisk soy sauce, gochujang, brown sugar, honey, rice vinegar, sesame oil, garlic, and ginger; set aside.
- 2. Wash and dry lettuce leaves. Arrange on a platter with shredded carrots, scallion greens, and sesame seeds.
- 3. Heat neutral oil in a large skillet over medium-high heat. Add onion and scallion whites; cook 3–4 minutes until softened.
- 4. Add ground beef; cook 6–8 minutes, breaking it up, until browned and no longer pink. Drain excess fat if needed.
- 5. Pour sauce into skillet; stir and simmer 2–3 minutes until slightly thickened and beef is glossy and well coated. Taste and adjust spice or salt.
- 6. Spoon hot beef into lettuce cups, top with carrots, scallion greens, sesame seeds, and optional chilies or lime. Serve immediately.
Why You’ll Love This Recipe
- Big flavor, minimal effort: a simple sauce gives you sweet, spicy, and savory beef in under 40 minutes.
- Light but satisfying: crisp lettuce cups keep things fresh while the beef delivers plenty of protein.
- Customizable heat: dial the gochujang up or down, so the wraps can be family-friendly or extra fiery.
- Fun to eat: everyone builds their own wraps at the table, making this great for casual dinners or gatherings.
Grocery List
- Produce: 1 head butter or Bibb lettuce, 2–3 carrots, 1 small bunch scallions, 1 small piece fresh ginger, 1 head garlic, 1 yellow onion, 1 lime (optional).
- Dairy: None required.
- Pantry: Ground beef, neutral cooking oil, soy sauce, gochujang (Korean chili paste), brown sugar, honey, rice vinegar, toasted sesame oil, sesame seeds, red pepper flakes (optional), salt and black pepper.
Full Ingredients
For the Sweet-Spicy Beef
- 1 lb (450 g) ground beef, 85–90% lean
- 1 tbsp neutral oil (canola, avocado, or vegetable)
- 1/2 medium yellow onion, finely diced (about 1/2 cup)
- 3 cloves garlic, minced
- 2 tsp fresh ginger, finely grated or minced
- 2 tbsp water (only if needed to loosen the sauce)
For the Korean-Inspired Sauce
- 3 tbsp soy sauce (low sodium recommended)
- 1 1/2 tbsp gochujang (Korean chili paste), or more to taste
- 1 1/2 tbsp packed light or dark brown sugar
- 1 tbsp honey
- 1 tbsp rice vinegar (unseasoned if possible)
- 1 tbsp toasted sesame oil
- 1/4 tsp red pepper flakes (optional, for extra heat)
For Serving
- 10–12 large butter lettuce or Bibb lettuce leaves, washed and well dried
- 2 cups loosely packed shredded carrots (about 2 medium carrots)
- 4 scallions, thinly sliced; keep whites and greens separate
- 2 tbsp toasted sesame seeds (white, black, or a mix)
- 1 lime, cut into wedges (optional, for squeezing over the wraps)
- Extra gochujang or chili sauce, for serving (optional)

Step-by-Step Instructions
Step 1: Mix the Sweet-Spicy Sauce
In a small bowl or measuring cup, combine the soy sauce, gochujang, brown sugar, honey, rice vinegar, toasted sesame oil, and red pepper flakes (if using). Whisk until the gochujang and sugar are fully dissolved and the mixture looks smooth and slightly thick. Taste a tiny bit: it should be salty, sweet, and with a pleasant heat. If you know you prefer milder flavors, reduce the gochujang slightly; if you love spice, add a little more.
Set the sauce aside near the stove so it is ready to pour in once the beef is browned. Having it pre-mixed helps the cooking move quickly and ensures the flavors are evenly distributed.
Step 2: Prep the Lettuce Wrap Components
Separate the butter lettuce leaves carefully, trying to keep them as whole cups. Rinse them gently under cold water, then spin dry in a salad spinner or pat dry thoroughly with clean kitchen towels or paper towels. Excess water will dilute flavors and make wraps slippery, so aim for very dry leaves. Arrange them on a large platter or tray.
Peel and shred the carrots on the large holes of a box grater, or julienne them into fine matchsticks. Thinly slice the scallions, keeping the white parts in one small pile and the green tops in another. Place shredded carrots, scallion greens, sesame seeds, and optional lime wedges on the platter around the lettuce. This turns the platter into a build-your-own wrap station.
Step 3: Sauté Aromatics for the Beef
Heat a large skillet (10–12 inch) over medium-high heat. Add the neutral oil and let it heat for 30–60 seconds, until it shimmers. Add the diced onion and the sliced scallion whites. Cook, stirring occasionally, for 3–4 minutes, until they soften and turn slightly translucent, with just a hint of browning at the edges.
Stir in the minced garlic and grated ginger. Cook for 30–60 seconds, just until very fragrant. Be careful not to let the garlic brown too much at this stage; lower the heat slightly if needed. These aromatics form a flavorful base that will carry the sauce and beef.
Step 4: Brown the Ground Beef
Add the ground beef to the skillet, breaking it up with a wooden spoon or spatula into small crumbles. Season lightly with a pinch of salt and a few grinds of black pepper. Cook over medium-high heat for 6–8 minutes, stirring and breaking up the meat frequently, until the beef is nicely browned and no pink remains.
If a lot of fat has rendered out and is pooling in the pan, carefully spoon off some of it or tilt the pan and drain off excess fat, leaving about 1–2 tablespoons behind. This keeps the beef flavorful but not greasy, and makes the sauce cling better.
Step 5: Add the Sauce and Simmer
Give the prepared sauce a quick stir, then pour it into the pan over the cooked beef. Stir well, making sure every bit of beef is coated. The mixture will sizzle at first, then begin to bubble gently.
Reduce the heat to medium and let the beef simmer in the sauce for 2–3 minutes, stirring occasionally. The sauce should thicken slightly and become glossy, clinging to the meat. If it gets too thick or starts to stick, add 1–2 tablespoons of water to loosen it to a juicy, spoonable consistency. Taste and adjust: add a pinch of salt, more gochujang for heat, or a tiny drizzle of honey for extra sweetness if desired.
Step 6: Assemble the Lettuce Wraps
Transfer the hot beef mixture to a serving bowl or leave it in the skillet (off the heat) and bring it to the table. To build a wrap, take a lettuce leaf and cup it in your hand or on your plate. Spoon 2–3 tablespoons of the beef into the center. Top with shredded carrots, a sprinkle of scallion greens, and a generous pinch of toasted sesame seeds.
If you like, finish with a small dab of extra gochujang or a squeeze of lime juice over the top. Fold the lettuce around the filling like a little taco and eat it in a few bites. Repeat with remaining leaves and beef, building wraps as you go so the lettuce stays crisp and the beef stays warm.
Step 7: Serve and Customize at the Table
Set out the platter of lettuce, toppings, and the bowl of sweet-spicy beef family-style, and let everyone assemble their own wraps. Keep extra napkins nearby; this is meant to be a bit hands-on and fun. Encourage people to tweak their wraps with different amounts of carrots, scallions, sesame seeds, and heat from gochujang or chili flakes.
If the beef cools down during a long meal, you can quickly rewarm it on low heat for a minute or two, stirring with a splash of water. Any leftover beef makes excellent rice bowls or can be tucked into tortillas for fusion-style tacos the next day.
Pro Tips
- Dry your lettuce very well. Moisture is the enemy of crisp wraps. Spin or pat the leaves completely dry so they hold the beef without tearing or slipping.
- Break the beef into small crumbles. Smaller pieces soak up more sauce and sit better in the lettuce cups, giving you a flavorful, tidy bite.
- Adjust the heat gradually. Gochujang varies in spiciness. Start with the listed amount, then add more at the end if you want extra kick rather than overdoing it early.
- Toast your sesame seeds. If your sesame seeds are raw, toast them in a dry skillet over medium heat for 2–3 minutes until fragrant and lightly golden. This deepens the nutty flavor.
- Serve immediately for best texture. The beef can be made ahead, but assemble wraps just before eating so the lettuce stays crisp and refreshing.
Variations
- Ground turkey or chicken: Swap the beef for ground turkey or chicken. Use a tablespoon of extra oil if the meat is very lean, and taste for seasoning at the end (you may need a bit more soy sauce).
- Rice bowl version: Skip the lettuce and serve the sweet-spicy beef over steamed white or brown rice with the same carrot, scallion, and sesame toppings. Add a fried or soft-boiled egg for a heartier meal.
- Vegetarian-friendly: Replace the beef with finely crumbled extra-firm tofu or a mix of mushrooms and lentils. Sauté until browned, then add the same sauce for a deeply flavored plant-based filling.
Storage & Make-Ahead
Store the cooled cooked beef in an airtight container in the refrigerator for up to 4 days. Reheat gently in a skillet over medium heat with a splash of water, stirring until hot and saucy. Shredded carrots and sliced scallions can be prepped up to 1 day ahead and kept in separate containers in the fridge. Wash and dry the lettuce the day you plan to serve; wrap the leaves loosely in paper towels and store in a container or produce bag to keep them crisp. Do not assemble the wraps in advance, as the lettuce will wilt and lose its crunch. Leftover beef also freezes well for up to 2 months; thaw overnight in the fridge before reheating.
Nutrition (per serving)
Approximate values per serving (about 3 lettuce wraps, out of 4 servings total): 320 calories; 24 g protein; 16 g carbohydrates; 18 g fat; 5 g saturated fat; 2 g fiber; 8 g sugar; 650 mg sodium. Exact values will vary based on specific products and portion sizes.
