Gather all your ingredients, measuring them out to make the process smoother. Set each item within easy reach for a streamlined cooking experience.
In a large mixing bowl, add the ground beef, breadcrumbs, Parmesan, softened garlic and onion (if using), fresh herbs, eggs, salt, and pepper. Gently mix everything with your hands until all ingredients are just combined; overmixing can make the meatballs tough.
With slightly damp hands, scoop out portions of the mixture and roll them into golf-ball-sized meatballs, keeping them uniform for even cooking. Aim for about 1 to 1½ inches in diameter.
Place the shaped meatballs on a baking sheet and refrigerate for 10-15 minutes. This step helps them hold their shape during frying and allows flavors to meld.
In a large skillet, add enough olive oil to coat the bottom. Warm the oil over medium heat until it shimmers, indicating it’s hot enough for frying.
Carefully place the meatballs in the hot oil, leaving space between each one to allow even cooking. Fry them in batches if needed, turning them every few minutes to achieve a golden crust on all sides. This usually takes about 7-10 minutes per batch.
Cut one meatball in half to check that it’s fully cooked (no pink should remain). If they need more time, let them cook a bit longer or finish them in a simmering sauce for 15-20 minutes to infuse even more flavor.
Once the meatballs are golden-brown and cooked through, transfer them to a plate lined with paper towels to absorb excess oil.
Serve these meatballs with your favorite pasta, a side of sauce, or simply enjoy them on their own.