These sweet and sour meatballs deliver the perfect balance of sticky, tangy sauce and juicy, savory meatballs. This low-carb, from-scratch version uses pantry staples for a vibrant sauce without corn syrup or thickeners. The aroma while they simmer is pure magic.
Looking for Sweet and Sour Meatballs inspiration? You'll love what we have! Explore more Dinner Ideas recipes or discover our Chicken Breast Recipes favorites.
Why You’ll Love This Sweet and Sour Meatballs
Incredible Flavor Balance: Sweet, tangy, and savory sauce without being overly sugary.
Surprisingly Simple: Meatballs come together quickly; sauce is a simple stir-and-simmer.
Meal Prep Champion: Flavors improve overnight; perfect for lunches or quick dinners.
Versatile & Customizable: Serve as appetizers, over cauliflower rice, or in lettuce cups.
Ingredients & Tools
For the Meatballs:
- 450 g ground beef (80/20 blend is ideal for juiciness)
- 1 large egg
- 40 g almond flour
- 2 cloves garlic, minced
- 1 tbsp tamari or coconut aminos
- 1 tsp grated fresh ginger
- 1/2 tsp black pepper
- 1/2 tsp salt
- 2 tbsp fresh parsley, finely chopped
- 1 tbsp avocado oil (for frying)
For the Sweet and Sour Sauce:
- 120 ml sugar-free ketchup
- 60 ml rice vinegar
- 2 tbsp tamari or coconut aminos
- 2 tbsp erythritol or allulose
- 1 tbsp sesame oil
- 1 tsp grated ginger
- 1 clove garlic, minced
- 1/4 tsp red pepper flakes (optional, for heat)
- 60 ml water
- 1 tbsp toasted sesame seeds and sliced green onion for garnish
Tools: A large mixing bowl, a medium skillet or frying pan, a whisk, and a baking sheet (optional, for browning multiple batches).
Notes: Fresh ginger and garlic make a world of difference. Don’t skip the sesame oil for authentic aroma.
Nutrition (per serving)
| Calories: | 320 kcal |
| Protein: | 22 g |
| Fat: | 24 g |
| Carbs: | 5 g |
| Fiber: | 2 g |
Serves: 4 | Prep Time: 15 minutes | Cook Time: 20 minutes | Total Time: 35 minutes
Before You Start: Tips & Ingredient Notes
- Don’t overmix the meatball mixture. Use your hands and mix just until the ingredients are combined. Overworking the meat can lead to tough, dense meatballs. A light touch is key for a tender texture.
- Why a sugar-free ketchup? This is the base of our sauce and regular ketchup is packed with sugar. A good sugar-free version gives you that tomatoey tang without the carbs, allowing the other flavors to be the stars.
- The power of fresh aromatics. I know it’s tempting to use jarred or powdered garlic and ginger, but for this recipe, fresh is non-negotiable. They provide a bright, pungent kick that powder just can’t replicate.
- Get your pan properly hot. Before you add the meatballs, make sure your oil is shimmering. A hot pan ensures a good sear, which locks in the juices and gives the meatballs a beautiful, caramelized crust.
How to Make Sweet and Sour Meatballs
Step 1: Prepare the Meatball Mixture. In your large mixing bowl, combine the ground beef, egg, almond flour, minced garlic, tamari, grated ginger, black pepper, salt, and fresh parsley. Now, here’s the trick: use your hands to mix everything together. It’s a bit messy, but it’s the only way to ensure everything is evenly distributed without overmixing. You’re looking for a uniform, slightly sticky mixture. Once combined, gently form the mixture into about 20-24 small, golf ball-sized meatballs. Try to make them as uniform as possible so they cook at the same rate.
Step 2: Brown the Meatballs. Heat the avocado oil in your skillet over medium-high heat. You’ll know it’s ready when a flick of water sizzles. Carefully place the meatballs in the pan, leaving a little space between them—you may need to work in two batches to avoid crowding. Crowding the pan will steam them instead of browning them. Let them cook undisturbed for about 2-3 minutes per side, until they develop a rich, brown crust. They don’t need to be cooked all the way through at this stage, just beautifully seared. Remove them to a clean plate and set aside.
Step 3: Whisk Together the Sauce. While the meatballs are browning, you can quickly make the sauce. In a medium bowl, combine the sugar-free ketchup, rice vinegar, tamari, erythritol, sesame oil, grated ginger, minced garlic, red pepper flakes (if using), and water. Whisk it vigorously until the sweetener has completely dissolved and the sauce is smooth and homogenous. You’ll notice the color is a deep, inviting reddish-brown. Give it a quick taste—this is your chance to adjust the balance. Want more tang? A splash more vinegar. More heat? Another pinch of pepper flakes.
Step 4: Simmer and Glaze. Reduce the heat under your skillet to medium-low. Pour the prepared sauce into the pan—it should sizzle gently and start to bubble. Using a wooden spoon, scrape up any of those delicious browned bits from the bottom of the pan; that’s pure flavor right there. Carefully return all the meatballs to the skillet, nestling them into the sauce. Spoon some of the sauce over the top of each meatball to coat them.
Step 5: Cook to Perfection. Let the meatballs simmer in the sauce for about 10-12 minutes, uncovered. You’ll want to gently stir or shake the pan occasionally to prevent sticking and ensure even glazing. The sauce will slowly thicken, reduce slightly, and become wonderfully glossy as it coats the meatballs. The meatballs are done when they are cooked through (an internal temperature of 74°C / 165°F) and the sauce has thickened to a glaze-like consistency that clings to them.
Step 6: Garnish and Serve. Once the meatballs are cooked and glazed, turn off the heat. Sprinkle generously with the toasted sesame seeds and sliced green onions. The green onions add a fresh, sharp contrast to the rich sauce, and the sesame seeds give a lovely nutty crunch. Serve immediately while they’re hot and the sauce is perfectly sticky.
Storage & Freshness Guide
- Fridge: Store in an airtight container for 3–4 days.
- Freezer: Freeze meatballs and sauce for up to 3 months.
- Reviving: Reheat gently on stovetop with a splash of water to loosen sauce.
Serving Suggestions
Complementary Dishes
- Cauliflower Rice — The ultimate low-carb base that soaks up every last drop of the delicious sauce without weighing you down.
- Simple Stir-Fried Veggies — Think crisp-tender broccoli, bell peppers, and snap peas. They add color, texture, and make the meal feel complete.
- Butter Lettuce Cups — For a fun, hands-on appetizer or a lighter meal, spoon a meatball or two into fresh lettuce leaves.
Drinks
- Iced Green Tea — Its slight bitterness and clean finish help cut through the richness of the sauce and cleanse the palate.
- Dry Riesling or Pinot Grigio — A glass of chilled, slightly acidic white wine complements the sweet and sour notes beautifully.
- Sparkling Water with Lime — The bubbles and citrus are a simple, refreshing way to balance the meal’s bold flavors.
Something Sweet
- Mixed Berry Compote — A quick-cooked mix of raspberries and blackberries, sweetened with a touch of monk fruit, provides a tart and sweet ending.
- Dark Chocolate Square — A single square of high-cocoa dark chocolate is a rich, satisfying finish that doesn’t overwhelm.
- Chia Seed Pudding — A cool, creamy vanilla chia pudding feels like a dessert but keeps things light and low-carb.
Top Mistakes to Avoid
- Overcrowding the Pan. This is the number one reason for steamed, pale meatballs instead of beautifully browned ones. Give them space! If you need to, cook in batches—it’s worth the extra few minutes.
- Overcooking the Sauce. Once the sauce has reduced to a glossy glaze that coats the back of a spoon, it’s done. Overcooking can cause the sweetener to break down and the sauce can become unpleasantly sticky or even bitter.
- Skipping the Sear. Don’t be tempted to just plop the raw meatballs into the sauce to simmer. Taking the time to brown them first creates a ton of flavor through the Maillard reaction and gives the meatballs a much better texture.
- Using Lean Ground Beef. A little fat (like an 80/20 blend) is your friend here. It keeps the meatballs incredibly juicy and tender. Extra-lean beef will often result in dry, crumbly meatballs.
Expert Tips
- Tip: Chill the meatball mixture. If you have an extra 15 minutes, pop the mixed meatball mixture in the fridge before shaping. This helps the fat firm up, resulting in meatballs that hold their shape better during cooking and are less likely to fall apart.
- Tip: Double the sauce. Honestly, the sauce is so good you might want more of it, especially if you’re serving it over cauliflower rice. Simply double the sauce ingredients and simmer for a few minutes longer to reduce.
- Tip: Bake for a hands-off approach. For an even easier method, you can bake the meatballs. Arrange them on a parchment-lined baking sheet and bake at 200°C / 400°F for 15-18 minutes until cooked through, then toss them in the sauce you’ve simmered separately on the stovetop.
- Tip: Make them ahead. These are a fantastic make-ahead meal. Cook the meatballs and sauce completely, let them cool, and store them in an airtight container in the fridge for up to 3 days. The flavors get even better as they sit.
FAQs
Can I use a different type of ground meat?
Absolutely! A mix of ground pork and beef is classic and delicious, adding a bit more richness. You can also use all pork, ground turkey, or even ground chicken. Just be mindful that leaner meats like chicken or turkey can dry out more easily, so don’t overcook them. You might also want to add an extra tablespoon of oil or a splash of broth to the sauce when using leaner meats to keep everything moist.
My sauce isn’t thickening. What did I do wrong?
This usually happens if the heat is too low or if you’ve added too much liquid. First, make sure you’re simmering, not just warming, the sauce. A gentle bubble is what you’re after. If it’s still too thin after the cooking time, you can mix a teaspoon of xanthan gum with a tablespoon of cold water to create a slurry, then whisk it into the simmering sauce. It will thicken up almost instantly, so use it sparingly!
Can I make these meatballs in an air fryer?
You sure can! It’s a great way to get a crispy exterior without much oil. Arrange the shaped meatballs in a single layer in your air fryer basket—you might need to do two batches. Cook at 190°C / 375°F for about 10-12 minutes, shaking the basket halfway through, until cooked through. Then, just toss them in the sauce you’ve prepared separately in a saucepan.
How do I store and reheat leftovers?
Leftovers will keep in an airtight container in the refrigerator for 3-4 days. To reheat, the stovetop is best. Gently warm them in a skillet over low heat with a splash of water to loosen the sauce. You can also use the microwave, but heat them in 30-second intervals, stirring in between, to prevent the meatballs from becoming tough.
Is there a substitute for almond flour in the meatballs?
Yes, if you have a nut allergy, you can use the same amount of crushed pork rinds (pork dust) for a super savory option, or a few tablespoons of coconut flour. Be careful with coconut flour—it’s highly absorbent, so start with 2 tablespoons and see if the mixture holds together before adding more. You may need an extra splash of tamari or another egg to bind it.
Sweet And Sour Meatballs
Make the best Sweet and Sour Meatballs with this easy, low-carb recipe. A perfect balance of sticky, tangy sauce and juicy meatballs. Get the recipe now!
Ingredients
For the Meatballs:
-
450 g ground beef (80/20 blend is ideal for juiciness)
-
1 large egg
-
40 g almond flour
-
2 cloves garlic (minced)
-
1 tbsp tamari or coconut aminos
-
1 tsp grated fresh ginger
-
1/2 tsp black pepper
-
1/2 tsp salt
-
2 tbsp fresh parsley (finely chopped)
-
1 tbsp avocado oil (for frying)
For the Sweet and Sour Sauce:
-
120 ml sugar-free ketchup
-
60 ml rice vinegar
-
2 tbsp tamari or coconut aminos
-
2 tbsp erythritol or allulose
-
1 tbsp sesame oil
-
1 tsp grated ginger
-
1 clove garlic (minced)
-
1/4 tsp red pepper flakes (optional, for heat)
-
60 ml water
-
1 tbsp toasted sesame seeds and sliced green onion (for garnish)
Instructions
-
In your large mixing bowl, combine the ground beef, egg, almond flour, minced garlic, tamari, grated ginger, black pepper, salt, and fresh parsley. Now, here’s the trick: use your hands to mix everything together. It’s a bit messy, but it’s the only way to ensure everything is evenly distributed without overmixing. You’re looking for a uniform, slightly sticky mixture. Once combined, gently form the mixture into about 20-24 small, golf ball-sized meatballs. Try to make them as uniform as possible so they cook at the same rate.01
-
Heat the avocado oil in your skillet over medium-high heat. You’ll know it’s ready when a flick of water sizzles. Carefully place the meatballs in the pan, leaving a little space between them—you may need to work in two batches to avoid crowding. Crowding the pan will steam them instead of browning them. Let them cook undisturbed for about 2-3 minutes per side, until they develop a rich, brown crust. They don’t need to be cooked all the way through at this stage, just beautifully seared. Remove them to a clean plate and set aside.02
-
While the meatballs are browning, you can quickly make the sauce. In a medium bowl, combine the sugar-free ketchup, rice vinegar, tamari, erythritol, sesame oil, grated ginger, minced garlic, red pepper flakes (if using), and water. Whisk it vigorously until the sweetener has completely dissolved and the sauce is smooth and homogenous. You’ll notice the color is a deep, inviting reddish-brown. Give it a quick taste—this is your chance to adjust the balance. Want more tang? A splash more vinegar. More heat? Another pinch of pepper flakes.03
-
Reduce the heat under your skillet to medium-low. Pour the prepared sauce into the pan—it should sizzle gently and start to bubble. Using a wooden spoon, scrape up any of those delicious browned bits from the bottom of the pan; that’s pure flavor right there. Carefully return all the meatballs to the skillet, nestling them into the sauce. Spoon some of the sauce over the top of each meatball to coat them.04
-
Let the meatballs simmer in the sauce for about 10-12 minutes, uncovered. You’ll want to gently stir or shake the pan occasionally to prevent sticking and ensure even glazing. The sauce will slowly thicken, reduce slightly, and become wonderfully glossy as it coats the meatballs. The meatballs are done when they are cooked through (an internal temperature of 74°C / 165°F) and the sauce has thickened to a glaze-like consistency that clings to them.05
-
Once the meatballs are cooked and glazed, turn off the heat. Sprinkle generously with the toasted sesame seeds and sliced green onions. The green onions add a fresh, sharp contrast to the rich sauce, and the sesame seeds give a lovely nutty crunch. Serve immediately while they’re hot and the sauce is perfectly sticky.06
Not what you're looking for?



