In a large saute pan over medium low heat, add 2 teaspoons of olive oil and caramelize the onion with a pinch of salt and pepper until golden brown, stir occasionally, about 20 minutes. Let the onion cook slowly, bringing out its natural sugars.
Meanwhile, mix all other meatball ingredients in a large bowl, including the onions when they are done. Your hands are the best tool, really mix well so all ingredients are incorporated.
Form into meatballs and set on a sheet pan. They should be about ping pong ball size, use an ice cream scoop to portion and then roll them with your hands. Makes 30 to 36 meatballs, depending on size. (At this point you can freeze or refrigerate the meatballs, some or all, for later use, or try doubling the meatball recipe to really stock the freezer!)
Preheat oven to 400°.
Over medium high heat, reheat the pan from the onions or use a clean large skillet, and add 1 Tablespoon olive oil. Brown the meatballs on one side, then flip and brown the other side (about 2 minutes per side). Cook about 8 to 10 at a time in batches so you do not crowd the pan. When done browning the outside, return them to the sheet pan (don’t worry that it had the raw meatballs on them, you will be baking the whole thing).
Bake in the oven for about 10-20 minutes to finish cooking the meatballs through, cut one open to check.
At this point you can store the cooked meatballs in the freezer or fridge or put them into the sauce.