01 - Preheat oven to 400°F. Position the oven rack so the broiler can reach the subs easily.
02 - In a large mixing bowl, combine ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, parsley, oregano, salt, and pepper. Mix until evenly incorporated without overworking the meat. Shape into 12 uniform meatballs.
03 - Heat olive oil in a large skillet over medium heat. Add the meatballs and brown on all sides for 5 to 7 minutes. Remove from the skillet and set aside.
04 - In the same skillet, sauté the chopped onion until softened, about 3 minutes. Add the garlic and cook for 1 additional minute. Pour in the marinara sauce and dried basil, then stir to combine.
05 - Return the browned meatballs to the skillet, nestling them into the sauce. Cover, reduce heat to low, and simmer for 15 minutes until the meatballs are cooked through to an internal temperature of 160°F.
06 - Slice each sub roll open lengthwise without cutting all the way through. Optionally brush the cut sides with softened butter. Place cut-side up under the broiler for 1 to 2 minutes until lightly golden.
07 - Place 3 meatballs with sauce into each toasted sub roll. Evenly distribute the shredded mozzarella over the top. Arrange the assembled subs on a baking sheet.
08 - Broil the subs for 2 to 3 minutes until the mozzarella is fully melted, bubbly, and lightly browned in spots. Watch closely to prevent burning.
09 - Top each sub with fresh basil leaves if desired and serve immediately while hot.