In a large pot of boiling salted water, cook the pasta to al dente. (This is about 1 minute less than the lowest package directions time. The pasta will absorb some of the sauce.)
Heat the olive oil in a large 12-inch skillet over medium-high heat. Add the ground beef and cook until brown, about 3 to 5 minutes, making sure to crumble the beef as it cooks. Drain excess fat if needed. Remove the beef and set aside.
Add butter to the skillet and add the onion and cook, stirring frequently, until translucent, about 2-3 minutes. Stir in garlic, red pepper flakes, Italian seasoning, paprika, and mustard powder then cook about 1 minute.
Whisk in flour and cook until lightly browned, about 1 minute.
Gradually whisk in beef stock and tomato sauce. Bring to a boil; reduce heat and simmer, stirring occasionally, until it is reduced and slightly thickened, about 6-8 minutes.
Stir in pasta shells, beef, and heavy cream until heated through, about 1-2 minutes.
Stir in cheese until melted. Season with kosher salt and black pepper.
Sprinkle with chopped Italian parsley and serve warm.