What if a meatball could taste comforting and indulgent while quietly being packed with ingredients that support how you feel?
These Korean Bulgogi Meatballs are savory, tender, deeply flavorful, and coated in glossy caramelized Bachan’s sauce that makes you want just one more. But inside? They’re filled with tofu, spinach, carrots, and aromatics that add softness, balance, and incredible texture.
The recipe was inspired by a traditional Korean cooking technique used in wanja-jeon (완자전), also known as donggeurang-ttaeng (동그랑땡), where ground meat is mixed with tofu and vegetables to create patties that are lighter, softer, and more tender than all-meat versions. Historically, tofu helped stretch expensive meat further while also adding protein and moisture.
My version keeps that same spirit and technique, but rolls the mixture into meatballs instead — making them perfect for bowls, grains, salads, and easy meal prep.
And honestly? That’s my favorite kind of recipe: comforting, craveable food that quietly does more for you.
I add lots of vegetables to these meatballs — spinach, carrots, onions, and green onions.
Spinach is one of my favorite ways to add extra nourishment without dramatically changing the flavor of a dish. It’s rich in iron, folate, vitamins K and C, and antioxidants — and once it’s squeezed and mixed into the meatballs, it practically disappears.
I use frozen spinach here for a reason: convenience without compromise. It’s picked and flash-frozen at peak freshness, cooks quickly, and is easy to keep on hand for busy nights.
The carrots add subtle sweetness and color, while the combination of tofu and spinach helps keep these meatballs incredibly soft and tender. That’s also why the moisture-removal steps matter — removing excess water helps the meatballs stay tender instead of watery or dense.
That’s the kind of recipe I always come back to: adding more nourishment without sacrificing flavor.
Kale & Berries Nutrition Insight 🌿
This recipe is doing a lot of quiet nutritional work behind the scenes.
✓ Protein for steady energy + fullness
Ground beef, tofu, and egg provide complete protein to support muscle health, fullness, and more stable energy throughout the day.
✓ Spinach hiding in plain sight
Spinach adds iron, folate, vitamins K and C, and antioxidants — all without dramatically changing the flavor or texture.
✓ Tofu for softness + extra nourishment
Tofu adds plant protein while helping keep the meatballs incredibly moist and tender without needing extra fat.
✓ Fiber + antioxidants from vegetables
Carrots, onions, and green onions add fiber, beta-carotene, antioxidants, and natural sweetness that deepen the flavor.
✓ Flavor with functional benefits
Sesame oil and garlic bring the savory backbone of Korean cooking while also providing heart-healthy fats and beneficial plant compounds.
✓ Balanced carbohydrates for lasting energy
Serving these meatballs over brown rice or quinoa adds fiber-rich carbohydrates that help slow digestion and support steadier blood sugar levels.
Together, this bowl delivers protein, fiber, healthy fats, and antioxidants in a way that supports steady, nourishing energy — not the kind that spikes and crashes.
½ lb ground beef
4 oz tofu
1½ cups frozen spinach
½ cup onion, finely chopped
⅓ cup carrots, finely chopped
2 green onions, chopped
1–2 garlic cloves, finely chopped
1 tsp soy sauce
2 tsp sesame oil
1 tsp kosher salt
½ tsp black pepper
1 egg
3 Tbsp Bachan’s The Original Japanese Barbecue Sauce
Neutral oil, for cooking
1️⃣ Prepare the spinach
Place the frozen spinach in a microwave-safe bowl with 3 tablespoons of water. Cover and microwave for 2–3 minutes, or until thawed and softened. Drain well and let cool slightly. Once cool enough to handle, use your hands to squeeze out as much liquid as possible.
2️⃣ Prepare the tofu
Gently but firmly squeeze excess water from the tofu using your hands, cheesecloth, or a nut milk bag. If squeezing by hand, working in smaller portions can make the tofu easier to handle and press effectively. Crumble the tofu before adding it to the bowl.
3️⃣ Make the meatball mixture
In a large bowl, combine the ground beef, tofu, spinach, onion, carrots, green onions, garlic, soy sauce, sesame oil, salt, black pepper, and egg. Mix gently with your hands until everything is evenly combined. Avoid overmixing, which can make the meatballs dense instead of light and tender.
4️⃣ Form the meatballs
Scoop enough mixture to make 1-inch meatballs. Roll gently between your palms until smooth and round. For easier cooking, you can briefly freeze the shaped meatballs on a parchment-lined baking sheet for 15–20 minutes before frying. This helps them hold their shape and brown more evenly in the pan.
5️⃣ Cook the meatballs
Heat a large nonstick skillet over medium heat. Add a light drizzle of oil and tilt the pan to coat evenly. Add the meatballs in a single layer, leaving a little space between them. Cook for about 2 minutes per side, until browned and cooked through, about 10–12 minutes total.
6️⃣ Add the sauce
Drizzle 3 tablespoons of Bachan’s The Original Japanese Barbecue Sauce over the meatballs. Turn gently to coat evenly and allow the sauce to caramelize slightly while soaking into the meatballs.
7️⃣ Serve
Serve the meatballs over whole grains like brown jasmine rice, brown rice, or quinoa. My Korean Spicy Cucumber Salad (Oi Muchim) pairs perfectly with these flavorful meatballs for a fresh, crunchy contrast.
✓ Make ahead — Cook a full batch and refrigerate for up to 4 days.
✓ Freeze raw — Shape the meatballs, freeze on a parchment-lined sheet until solid (about 2 hours), then transfer to a freezer bag for up to 2 months. Cook directly from frozen over medium-low, covered, adding 5–7 extra minutes. Add the Bachan’s sauce at the end.
✓ Freeze cooked — Let the meatballs cool completely, then freeze in a single layer before transferring to a freezer bag for up to 2 months. Reheat from frozen in a covered skillet with a splash of water over medium-low heat for about 8–10 minutes.
✓ Batch it — Double the recipe. The mixture scales easily, and having extra meatballs in the freezer makes busy weeks so much easier.
✓ Reheat from the fridge — Reheat in a covered skillet over medium-low heat with a splash of water to help keep the meatballs tender and moist. You can also microwave them gently in short intervals until warmed through.
✓ Serve them differently — Over grains one night, in lettuce wraps the next, or added to a salad bowl. These meatballs work beautifully across multiple meals.
One Response
Looks delicious and healthy! Thanks for sharing this amazing recipe! Keep them coming!!