To prepare the meatballs, preheat the oven to 375 degrees F. Lightly grease 2 baking sheets with cooking spray or oil.
In a large mixing bowl, combine ground beef, onion, breadcrumbs, Parmesan cheese, eggs, garlic, parsley, basil, salt and pepper. Mix with a fork until combined.
Using a spoon or scoop, roll meat into balls, about 2 tablespoons each. Using your thumb, press into the center to create an indent, place a piece of cheese in the center of the dough ball and then re-roll ball to cover the cheese. Don’t be afraid to use a little extra meat mixture if you need to cover the cheese. Repeat with remaining meat and arrange on baking sheet.
Bake for 18 to 20 minutes, or until meatballs are cooked through.
While the meatballs are baking, prepare sauce. Heat olive oil in a large saucepan over medium heat. Add onion and garlic. Sauté for 2 minutes.
Whisk in the cornstarch and optional wine, if desired. Let simmer for 2 additional minutes.
Add crushed tomatoes, parsley, basil and salt. Stir to combine. Bring the sauce to a boil. Cover, reduce heat to low and let simmer for 15 minutes.
Once baked meatballs are done, carefully add them to the sauce. On low heat, simmer uncovered for an additional 10 minutes. Serve as an appetizer or with pasta. Enjoy!