I’ll never say no to a juicy little meatball, and these gorgeous beef meatballs are very hard to resist. Perfect for an easy weeknight dinner, they’re loaded with fresh basil pesto, caramelized onions, and garlic, then simmered in a rich, hidden veg tomato sauce with protein-packed butter beans and lots of parmesan.

Saucy Beef Meatballs, at a Glance
⏰ Total time: 45 minutes
🍽 Servings: 4
🛒 Key Ingredients: Ground beef, canned tomatoes, canned butter beans, garlic, basil
🧠 Skill level: Beginner-friendly
🔥 Cooking Method: Air fryer and/or stovetop
💪 Protein: 38g per serving
🥗 Perfect For: Weeknight dinners, casual entertaining or dinner parties, meal prep lunches
💕 Why You’ll Love: Protein-packed, secretly loaded with veggies, easy to prep ahead of time, and a gorgeous combination of crowd-pleasing flavors.
The meatballs I make at least once a week
My boyfriend always tells me he doesn’t like beans, but let me tell you, he DEVOURS this, beans and all. They act as little flavor sponges and really soak up all those lovely tomatoey, garlicky flavors present in the sauce. They also add a nice extra hit of protein.
The sauce itself is a fab one too – it sneaks in a LOAD of veggies that melt down to make it more substantial – so it’s a great option if you’re trying to add vegetables to a meal without making it too obvious.
The meatballs are lovely and juicy, with pesto, caramelized onions (I recommend trying these Instant Pot caramelized onions if you have one 👀), and Greek yogurt doing the heavy lifting. Everything simmers together with the butter beans and the veg-heavy sauce to make a gorgeous meal that you’ll be eating straight from the pan!
A nice drizzle of basil pesto and lots of parmesan finish things off wonderfully. This really is one of those meals I make at least once a week, and leftovers reheat brilliantly for lunch the next day!

Kate’s Prep Ahead Tips
The sauce AND the meatballs can be made in advance:
- Make the sauce, then store it in the fridge for up to five days.
- Make the meatball mixture, then store it in the fridge for up to 48 hours before rolling the meatballs.
- Roll the meatballs, pop them into the fridge, then cook them later.
- Or, the whole dish can be made in advance, then just reheated on the stovetop until lovely and hot again.
Like this recipe? Try these meatball ideas next
If you make this recipe, I’d love to hear from you! You can leave a recipe rating and a comment below. And remember to tag @DishedByKate on Instagram, Facebook and TikTok if you’ve made one of my recipes. Seeing your recreations really makes my day 😊.

Saucy Beef Meatballs with Butter Beans
Ingredients
Method
- Make the meatballs.Add the ground beef, crushed garlic, ⅓ cup Greek yogurt, ⅓ cup panko breadcrumbs, 1 tablespoon dried thyme, 1 tablespoon basil pesto, ¼ cup caramelized onions, 1 teaspoon salt, and a big handful of fresh parsley to a large bowl. Mix to combine well.
- Roll into meatballs.Scoop up a heaped tablespoon of the mixture, then roll into meatballs with your hands. Repeat with the remaining mixture.
- Air fry the meatballs. Arrange the meatballs in a single layer (if possible) in your air fryer basket. Air fry at 400℉ (200℃) for 9 minutes, until golden brown. They'll finish cooking in the sauce so don't worry if they're not perfectly cooked through at this point.
- Start the sauce.While the meatballs cook, heat your olive oil in a large high-sided skillet over medium heat. Add the caramelized onions, or relish, then add the grated zucchini, carrot, crushed garlic, dried herbs, and a good pinch of salt.Cook for about 7 to 10 minutes, stirring, until the veggies have softened nicely, and the zucchini has released most of its water.
- Thicken the sauce.Add 2 tablespoons of tomato puree, then cook, stirring, for a couple of minutes until it darkens a little. Pour in the canned tomatoes, then the drained butter beans. Stir, then bring to a simmer. Cook for about 10 minutes, until the sauce has thickened nicely.
- Add the meatballs.At this point, add the cooked meatballs and gently stir them through the sauce. Simmer for another couple of minutes, then add the spinach leaves, stir, and let them wilt into the sauce.
- Finish and serve.Taste the sauce, then add a little more salt and pepper if you like. Finish by drizzling the pesto all over, then scatter with the grated parmesan to serve.
Nutrition
Notes
- Make the sauce, then store it in the fridge for up to five days.
- Make the meatball mixture, then store it in the fridge for up to 48 hours before rolling the meatballs.
- Roll the meatballs, pop them into the fridge, then cook them later.
- Or, the whole dish can be made in advance, then just reheated on the stovetop until lovely and hot again.







