Make the sauce: add the canned chopped tomatoes, halved onion, salted butter, dried chilli flakes (if using), and a pinch of salt and pepper to a medium pot; bring to a simmer.
Simmer the sauce gently, uncovered, for about 45 minutes until reduced and flavorful.
Preheat the oven to 175°C (347°F) and prepare a baking sheet with spray or parchment.
Make the meatball mixture: in a large bowl combine the beef mince, dried oregano, tomato paste, egg, grated Parmesan (or Pecorino), and breadcrumbs; season with salt and pepper (about 1 tsp salt and 1/2 tsp pepper).
In a small food processor, blend the raisins, parsley, and crushed garlic into a paste, then add it to the meat mixture and mix by hand until evenly combined.
Form the mixture into evenly sized meatballs and place them on the prepared baking sheet with space between each.
Roast the meatballs in the preheated oven for about 20 minutes until golden and firm; alternatively, pan-fry in olive oil until golden and finish cooking them in the sauce.
When the tomato sauce has simmered, remove the onion and scrape off any sauce; discard the outer harder layers, then blend the softer inner onion pieces back into the sauce with a stick blender for a smoother texture, or leave as is if preferred.
Add the roasted meatballs and any pan juices to the sauce and simmer together briefly so the meatballs finish cooking and absorb sauce flavor.
Cook the spaghetti in a large pot of well-salted boiling water to al dente, drain, then toss with the sauce and meatballs.
Serve immediately with additional grated Parmesan.