Set the oven rack to the lower-middle position and set it to broil. Line a large baking sheet with foil and spritz with cooking oil. Set aside.
In a large bowl, add the ground beef, eggs, breadcrumbs, Parmesan cheese, onion, garlic, Italian seasoning, salt, and black pepper. Use your hands or a large spoon to mix well until combined.
Roll the ground beef mixture into ⅓ cup balls, roughly about the size of an egg. You should have approximately 15 meatballs. Place the meatballs on the prepared baking sheet spaced well apart.
Broil the meatballs for 10-12 minutes or until browned on one side. Turn and broil for another 2-3 minutes.
Transfer the meatballs to the tomato sauce. Simmer over low heat with the lid slightly ajar for about 1 ½ hours. Check the meatballs every 20 minutes to ensure they’re not sticking to the bottom of the pot. Add a splash of water if the sauce becomes too thick.
Towards the end of cooking, add more water (1 tablespoon at a time) until the sauce is the desired consistency. Season to taste with salt and pepper.
Serve the meatballs over your favorite pasta, topped with sliced basil and Parmesan cheese.