Cook the pasta in a large pot of salted boiling water according to package instructions until al dente. Drain and set aside.
In a skillet, heat olive oil over medium-high heat. Add diced onion and sauté until translucent, about 3-4 minutes.
Add the Italian sausage, breaking it into chunks, and cook until browned and cooked through (internal temperature should be 165°F).
Drain any excess grease, then add garlic, tomatoes with juices, chicken broth, heavy cream, Italian seasoning, cayenne, crushed red pepper, salt, and black pepper. Stir to combine.
Bring the mixture to a gentle simmer and cook for about 10 minutes, stirring occasionally.
Stir in grated parmesan cheese until melted, then add spinach and let it wilt in the sauce.
Toss the cooked pasta into the skillet, mixing until coated in the sauce.
Serve immediately, garnished with fresh basil and extra parmesan cheese.
Notes
Store leftovers in an airtight container in the refrigerator for up to 3-4 days.