Bring a large pot of well-salted water to a boil. Add the pasta and cook according to the package instructions until al dente (firm to the bite). Reserve 1/4 cup of pasta water, then drain the rest and set the pasta aside.
Heat the olive oil in a large skillet over medium heat.
Add the ground Italian sausage, breaking it up with a wooden spoon. Cook until the sausage is browned and no longer pink, about 7-8 minutes. Use a slotted spoon to transfer the sausage to a plate. Leave the rendered fat in the skillet for extra flavor.
In the same skillet, add the diced onion. Cook until softened and translucent, about 5 minutes. Stir in the minced garlic and cook for another 1-2 minutes until fragrant.
Stir in the tomato paste and cook for 2 minutes to deepen the flavor. Pour in the chicken broth and scrape up any browned bits from the bottom of the skillet. Let it simmer for 3-5 minutes until the broth reduces slightly.
Stir in the diced tomatoes (with their liquid), oregano, basil, parsley, salt, and pepper. Let the sauce simmer for 5-7 minutes until it thickens slightly.
Lower the heat and pour in the half-and-half or heavy cream.
Cook for 2-3 minutes until the sauce is heated through and slightly thickened. If the sauce gets too thick, add a splash of the reserved pasta water until it reaches your desired consistency.
Return the cooked sausage to the skillet and stir to combine. Add the drained pasta and toss until everything is well-coated in the sauce.
Stir in the grated Parmesan and shredded mozzarella cheese. Continue stirring until the cheese melts and creates a rich, cheesy sauce.
Serve immediately with your favorite sides like garlic bread or a crisp green salad. Garnish with extra Parmesan and a sprinkle of fresh herbs if you like.