Cut the onion into cubes and press the garlic through a garlic press.
Heat the olive oil and butter in a medium/large frying pan over medium-low heat.
When hot, add the onion, cook for about 5 minutes with a pinch of salt or until softened and translucent. Add the garlic and cook for 30 seconds. Transfer to a plate.
Make the meatball mixture: Soak the breadcrumbs in milk for 5 minutes. Grate the zucchini on the large holes of a box grater, squeeze out the excess moisture and measure out 1 cup (or 140g) of shredded zucchini (reserve the remaining zucchini for the sauce).
Add 1/2 of the sauteed onions with garlic into a large bowl (reserve the rest for the sauce). Add ground turkey, breadcrumb-milk mixture, egg, 1 cup of shredded zucchini, grated parmesan, dried basil, season the mixture with salt and pepper. Knead the mixture for 2-3 minutes or until well-combined - you should start to see that it becomes more elastic. The mixture will be rather loose and sticky but after kneading, the meatballs should hold their shape.
Shape the meatballs: shape 1 1/2 inch (4 cm) meatballs from the mixture. You should get about 24 meatballs. Place them on a plate.
Heat frying oil in a medium/large frying pan over medium-high heat. Add the meatballs to the pan making sure they're not overcrowded (I pan-fried them in two batches). Cook them until browned on all sides and almost cooked-through in the middle. Transfer them on a plate.
Add the remaining onions and garlic to the pan along with crushed tomatoes, remaining shredded zucchini and balsamic vinegar.
Cook the tomato sauce for about 10 minutes, until thickened. Season with salt and pepper. I also like to mix it with a hand blender but this is optional.
Add the meatballs to the sauce and simmer them for 1-2 minutes or until cooked through.
Serve the meatballs with the sauce and cooked pasta. Sprinkle with more parmesan and chopped basil/parsley.
Enjoy!