Cook the pasta: Bring a large pot of salted water to a boil. Cook shells until just shy of al dente (they’ll finish in the sauce).
Drain and set aside.
Brown the beef: In a large skillet or Dutch oven, heat a drizzle of olive oil over medium-high. Add ground beef and cook, breaking it up, until browned with crispy edges, about 5–7 minutes. Season lightly with salt and pepper.
Drain excess fat if needed.
Sauté aromatics: Reduce heat to medium. Add diced onion and cook until soft and translucent, 3–4 minutes. Stir in garlic for 30 seconds, until fragrant.
Build the base: Stir in tomato paste and cook 1–2 minutes to caramelize slightly.
Add Italian seasoning, paprika, and a pinch of red pepper flakes if using.
Add liquids: Pour in crushed tomatoes (or tomato sauce) and beef broth. Stir, scraping up any browned bits from the pan. Simmer 5 minutes to thicken slightly.
Make it creamy: Reduce heat to low.
Stir in heavy cream. Simmer gently 2–3 minutes. Taste and adjust salt and pepper.
Combine with pasta: Add cooked shells to the sauce and stir to coat.
Cook 2–3 minutes, stirring, so the pasta absorbs the flavors.
Add cheese: Off the heat, fold in the shredded cheddar until melted and smooth. If too thick, splash in more broth or cream; if too thin, let it sit a minute.
Finish and serve: Top with chopped parsley and extra black pepper. Serve hot.