Initiate the Sauce : In the Dutch oven, warm 1 tablespoon of the olive oil over medium heat. Add the diced yellow onion and a pinch of salt, cooking for 8–10 minutes until softened and translucent. Stir in half of the minced garlic and cook for another minute until fragrant. Pour in the red wine to deglaze the pot, scraping up any browned bits from the bottom.
Simmer the Sauce : Allow the wine to reduce by about half. Stir in the crushed tomatoes, dried basil, smoked paprika, and red pepper flakes. Season with salt and pepper, then bring the mixture to a gentle bubble. Reduce the heat to low, cover, and let the sauce simmer while you prepare the meatballs.
Forge the Meatballs : In a large mixing bowl, combine the ground pork, ground beef, minced shallots, the remaining minced garlic, the beaten egg, and the grated Pecorino Romano. Season generously with salt and pepper and add the crushed fennel seeds. Mix with your hands until just combined—do not overwork. Roll the mixture into uniform 1-inch balls.
Sear for Flavor : Heat the remaining 1 tablespoon of olive oil in the large non-stick skillet over medium-high heat. Carefully place the meatballs in the skillet, ensuring not to crowd them (work in batches if necessary). Brown the meatballs on all sides, turning them every 2–3 minutes. They do not need to be cooked through at this stage.
Marry Meatballs & Sauce : Using a slotted spoon, transfer the seared meatballs directly into the simmering tomato sauce. Stir gently to coat. Continue to simmer, partially covered, for 15–20 minutes, or until the meatballs are cooked through and the internal temperature registers 165°F (74°C) on an instant-read thermometer.
Create the Zucchini Ribbons : While the meatballs are finishing, prepare your zucchini. Using a spiralizer or peeler, create long, noodle-like strands.
Flash-Cook the Zoodles : Place the skillet used for the meatballs back over medium heat. Add the spiralized zucchini and sauté for 3–5 minutes, tossing frequently, until they are just tender but still have a slight bite (al dente). Immediately remove from the heat and drain any excess water that has collected in the pan.
Serve and Garnish : Divide the warm zucchini noodles among four shallow bowls. Ladle the sauce and several meatballs over each serving. Garnish with torn fresh basil leaves and an extra sprinkle of Pecorino Romano, if desired.