Heat a large, deep skillet or Dutch oven over medium-high heat. Add the sausage, breaking it up with a spoon, and cook until browned and cooked through, about 5-7 minutes. Ensure the internal temperature reaches 160°F (71°C) for safety. Transfer to a bowl using a slotted spoon, leaving about 1 tablespoon of rendered fat in the pan.
Reduce heat to medium. Add the onion to the skillet and cook until softened, about 3-4 minutes. Stir in the garlic and tomato paste, cooking for 1 minute until fragrant and the paste darkens slightly.
Pour in the crushed tomatoes and chicken broth. Add the oregano, red pepper flakes (if using), and a generous pinch of salt and pepper. Stir to combine, then bring the mixture to a simmer.
Add the uncooked cavatappi to the skillet, stirring to submerge it. Return the browned sausage to the pan. Cook at a gentle simmer, uncovered, for about 12-14 minutes, stirring occasionally, until the pasta is al dente and has absorbed most of the liquid. You may need to reduce heat slightly to maintain a simmer without boiling vigorously.
Remove the skillet from heat. Stir in the heavy cream, then fold in the spinach a handful at a time until wilted. Stir in the Parmesan until melted and the sauce is creamy. Let the dish rest for 2 minutes to thicken slightly.
Taste and adjust salt and pepper. Scatter torn basil and extra Parmesan over the top. Serve directly from the skillet or spoon onto plates.