Preheat oven to 375 degrees Fahrenheit.
Peel onion and carefully grate onion on to a plate or into a bowl.
In a large bowl, add ground beef, grated onion, minced garlic, egg, milk, italian seasoning, bread crumbs, parmesan cheese, 2 tbsp. of crushed tomatoes and salt.
Use your hands to squish everything together until it is well incorporated.
Divide the mixture into 12 meatballs. They should be the size of large golf balls.
Flatten each meatball and place in the palm of your hand. Place a piece of fresh mozzarella cheese into the middle of the meat mixture.
Pinch together to fully encompass the cheese with the meat, so that the mozzarella stays inside while cooking.
Place mozzarella stuffed meatballs in a cast iron skillet or other oven safe dish and bake for 20 minutes, until the internal temp of the meatballs reaches 165 degrees.
Cover with remainder of the can of crushed tomatoes and place back in the oven for an additional 10 minutes.
Top with fresh basil or parsley, as well as red pepper flakes, if desired.