Heat the oven to 475°F with a rack in the middle position. Line a rimmed baking sheet with kitchen parchment and mist with cooking spray.
In a large Dutch oven over medium-high, heat 2 tablespoons oil until shimmering. Add the onion and ¼ teaspoon salt, then cook, stirring occasionally, until softened, about 5 minutes.
Add the garlic and 1 teaspoon pepper flakes; cook, stirring, until fragrant, about 30 seconds. Remove the pot from the heat, then transfer half of the onion mixture to a large bowl.
In a medium bowl, combine the panko and 1¼ cups water; press the panko into the water and let stand until fully softened, about 5 minutes.
Mash with your hands to a smooth paste, then add to the bowl with the onion mixture. Using a fork, mix until well combined and smooth. Stir in the grated cheese, beaten eggs, the remaining 2 tablespoons oil, ¾ teaspoons salt and 2 teaspoons black pepper.
Add the meat and mix with your hands until completely homogenous.
Using a ½-cup dry measuring cup, divide the mixture into 8 portions. Using your hands, shape each into a compact ball and place on the prepared baking sheet, spacing them evenly apart.
Refrigerate uncovered for 15 to 20 minutes. Re-shape the meatballs if they have flattened slightly, then bake until lightly browned, about 20 minutes.
Let cool on the baking sheet set on a wire rack for about 10 minutes.
While the meatballs cook, in a food processor or blender, puree the tomatoes one can at a time with their juices until smooth, about 30 seconds, transferring the puree to a large bowl.
Return the Dutch oven to medium and heat the remaining onion mixture, stirring, until warmed through, about 2 minutes. Stir in the tomatoes, remaining ½ teaspoon pepper flakes, the basil and the chunk of cheese.
Bring to a simmer over medium-high and cook, stirring occasionally, until slightly thickened, about 15 minutes. Taste and season with salt and pepper.
Using a large spoon, carefully transfer the meatballs to the sauce, then, using 2 spoons, turn each to coat. Bring to a gentle simmer, then reduce to medium-low, cover and cook for 5 minutes.
Remove the pot from the heat and let stand, covered, for about 5 minutes to allow the meatballs to firm up slightly. Remove and discard the pecorino chunk. Serve with additional grated cheese.
