Cut off the bottoms of each zucchini and the onion, and use a cheese grater or box grater to shred into a large mixing bowl. Add the salt, toss, and let rest in a fine mesh strainer in the sink for 15-20 minutes to pull out excess moisture.
After resting in the sink, use your fingertips to gently push down on the grated zucchini and release any remaining liquid.
While the zucchini mixture is resting, add the black pepper, garlic, grated parmesan cheese, panko breadcrumbs, Italian seasoning, crushed red pepper flakes, basil, and egg to a large mixing bowl. Add the drained zucchini mixture and, using a fork, mix together until fully combined.
Preheat the oven to 375° F.
Using a 2 tablespoon cookie scoop, form the mixture into about 20 meatballs.
Heat a 12 inch cast iron skillet on medium heat with 2 tbsps of olive oil. Once hot, arrange the meatballs in a single layer, turning to cook all sides, until browned. You might find it easier to do this step in two batches.
Once all meatballs are cooked, remove the pan from heat and allow to cool slightly. Carefully add the marinara sauce to the pan and top with torn mozzarella cheese. Bake at 375° F for 10-15 minutes, or until cheese has melted and marinara sauce is bubbly.
Top with more fresh basil and serve with your favorite toasted bread for dipping.