Cook the pasta: Bring a large pot of salted water to a boil. Add the pasta and cook until just shy of al dente (about 1–2 minutes less than package directions).
Drain and set aside.
Brown the sausage: In a large skillet or Dutch oven, warm the olive oil over medium-high heat. Add the sausage, breaking it into small pieces, and cook until browned and no longer pink, about 6–8 minutes. Spoon off excess fat, leaving about a tablespoon.
Build flavor: Add the onion and cook until softened, 3–4 minutes.
Stir in the garlic and cook 30 seconds. Add tomato paste, Italian seasoning, and red pepper flakes. Cook, stirring, for 1 minute to caramelize the tomato paste.
Deglaze: Pour in the white wine or broth.
Scrape up the browned bits from the pan and let it simmer for 2–3 minutes until slightly reduced.
Make it creamy: Lower the heat to medium. Stir in the cream, milk, and Dijon. Simmer gently for 3–4 minutes until the sauce thickens slightly.
Season with salt and pepper. Stir in Parmesan until melted and smooth.
Add greens and pasta: Fold in the chopped spinach until wilted, 30–60 seconds. Add the drained pasta and toss to coat evenly in the sauce.
The mixture should be creamy and slightly loose—this helps it stay saucy after baking.
Assemble: Preheat the oven to 375°F (190°C). Transfer the pasta mixture to a lightly greased 9x13-inch baking dish. Sprinkle with mozzarella and a little extra Parmesan.
Bake: Bake for 18–22 minutes, until the cheese is melted and the edges are bubbling.
For a golden top, broil for 1–2 minutes, watching closely.
Rest and serve: Let it rest for 5 minutes. Garnish with chopped parsley or basil. Taste and add a final pinch of salt and pepper if needed.