Let's Get Cookin'

Sweet and Sour Meatballs

  • Author: Jessica Beacom
  • Prep Time: 15 mins.
  • Cook Time: 20 mins.
  • Total Time: 35 mins.
  • Yield: Serves 4 1x
  • Cuisine: Whole30, Egg-Free


For the Meatballs:

  • lb. ground pork (may substitute ground turkey or chicken)
  • ¼ cup almond flour (may sub oat flour or bread crumbs if not Whole30)
  • 1¼ tsp. garlic powder
  • 1¼ tsp. onion powder
  • ¼ tsp. black pepper
  • ¾ tsp. salt
  • ¼ cup thinly sliced green onions, plus more for garnish

For the Sauce:

  • ⅓ cup ketchup*
  • 8 oz. crushed pineapple, in juice
  • 2 Tbsp. water
  • 3 Tbsp. rice vinegar (may substitute apple cider vinegar)
  • ½ tsp. garlic powder
  • ½ tsp. dried ginger
  • 1 Tbsp. arrowroot starch**


To make the meatballs:

  1. Combine ground pork, almond flour, garlic and onion powders, salt, pepper, and sliced green onions in a bowl. Mix to combine and divide meat mixture into 18-20 meatballs (about 1 Tbsp. each). 
  2. Place a large skillet over medium-high heat (medium if using cast-iron). When the pan is hot, add meatballs in a single layer. Cook for 3-4 minutes on each side or until lightly browned all over. 
  3. While meatballs are cooking, combine all sauce ingredients in a small bowl. Stir well to dissolve starch. 
  4. When meatballs are browned on all sides, add sauce and stir to coat each meatball. Bring sauce to a simmer and cook for 7-8 minutes or until sauce is thickened and meatballs are cooked through. Sprinkle with additional green onions and serve. 


*Use unsweetened ketchup, such as Primal Kitchen Organic Unsweetened Ketchup), for Whole30

**May substitute cornstarch if not Whole30


  • Serving Size: 5 oz (Meatballs + Sauce)
  • Calories: 395
  • Sugar: 16g
  • Sodium: 362mg
  • Fat: 25g
  • Carbohydrates: 23g
  • Fiber: 1g
  • Protein: 21g