Spiced Ground Beef and Pork Meatballs in Tomato Sauce

Flavorful meatballs made with a blend of ground pork and beef, enhanced with aromatic spices like paprika, oregano, and thyme. Fresh zucchini adds moisture while sun-dried tomatoes contribute depth. The meatballs simmer in a rich tomato sauce infused with cinnamon and balsamic vinegar, creating layers of savory-sweet flavor. Served over cauliflower rice and topped with toasted almonds, this hearty dish works well for weeknight dinners or meal prep. The combination of herbs and spices gives these meatballs a distinctive warmth that sets them apart from traditional versions.
Ingredients
- 2 tablespoons extra-virgin olive oil
- 1 yellow onion, peeled and chopped
- 1 garlic cloves, peeled and chopped
- 9 oz ground pork
- 9 oz ground beef
- 1 teaspoon paprika
- 1 tablespoon oregano
- 1 tablespoon thyme
- ½ medium zucchini, grated
- 1 teaspoon lemon zest
- 1 hot pepper, stalk and seeds removed, finely chopped
- ¼ cup sun-dried tomatoes, chopped
- ⅛ teaspoon sea salt
- ¼ teaspoon cracked black pepper
- 1 tablespoon extra-virgin olive oil
- ½ red onion, peeled and chopped
- 2 garlic cloves, peeled and chopped
- 1 can chopped tomatoes
- 1 ¼ cups chicken stock
- ½ hot pepper, stalk and seeds removed, chopped
- 1 tablespoon tomato paste
- 1 tablespoon coconut aminos
- 1 cinnamon sticks
- 1 tablespoon balsamic vinegar
- 1 pinch salt
- 1 small cauliflower, stalk and leaves removed
- 1 tablespoon ghee
- 2 tablespoons sliced almonds
Instructions
- 1
Peel and chop the onion and garlic
- 2
Grate the zucchini and squeeze out excess water
- 3
Heat olive oil in a saucepan
- 4
Add the onion and sauté on medium-low heat for 2 minutes until soft
- 5
Add the garlic and fry for 1 further minute
- 6
Turn off the heat
- 7
Remove stalk and seeds from the hot pepper and finely chop
- 8
Combine pork, beef, grated zucchini, onion and garlic mixture, paprika, oregano, thyme, lemon zest, hot pepper, sun-dried tomatoes, salt and pepper in a mixing bowl
- 9
Form into meatballs
- 10
Peel and chop the red onion and garlic for sauce
- 11
Remove stalk and seeds from the pepper and chop into small chunks
- 12
Add olive oil to a pan
- 13
Sauté the onion and peppers on medium-low heat for 1 minute then add garlic for 1 further minute
- 14
Add chopped tomatoes, chicken stock, tomato paste, coconut aminos, cinnamon stick, balsamic vinegar, salt, pepper and chopped hot pepper
- 15
Simmer on medium-low heat for about 30 minutes until thick and concentrated
- 16
Heat olive oil in a frying pan
- 17
Add the meatballs and fry for about 10 minutes, turning regularly, until brown and cooked through
- 18
Remove stalk and leaves from cauliflower
- 19
Process cauliflower florets in food processor until rice consistency
- 20
Heat ghee in pan
- 21
Fry cauliflower rice with salt on medium heat for 3 minutes until softened and starting to crisp
- 22
Toast sliced almonds on baking tray for 4 minutes at 350°F until golden
- 23
Serve cauliflower rice topped with meatballs, sauce and toasted almonds
Tips
Squeeze grated zucchini thoroughly to prevent soggy meatballs - use a clean kitchen towel or your hands to remove excess moisture
Toast the almonds just until golden to add a nutty crunch that complements the rich tomato sauce
Let the sauce simmer the full 30 minutes to develop depth - it should be thick enough to coat the back of a spoon
Good to Know
Refrigerate for up to 4 days in airtight containers
Meatballs can be formed and refrigerated overnight before cooking
Serve hot over cauliflower rice with toasted almonds
Common Mistakes
Don't skip squeezing the zucchini to avoid watery meatballs
Don't rush the sauce simmering time or it won't develop proper thickness
Avoid overcrowding meatballs in pan to ensure even browning
Substitutions
Dairy-Free Swaps
General Alternatives
FAQ
Can I bake the meatballs instead of pan-frying?
Yes, bake at 180°C for 25 minutes, turning halfway through cooking for even browning.
What if I don't have coconut aminos?
Substitute with tamari or low-sodium soy sauce in the same quantity for similar umami depth.
How long do these keep in the refrigerator?
Store covered for up to 4 days. Reheat gently to maintain texture and prevent drying out.