In a large Dutch oven or heavy-bottomed pot over medium heat, cook the chopped beef bacon until crispy. Remove with a slotted spoon and set aside, leaving the rendered fat in the pot.
Increase heat to medium-high. Add the cubed beef steak to the pot (in batches if necessary to avoid overcrowding) and sear until browned on all sides. Remove beef and set aside with the bacon.
Reduce heat to medium. Add the butter to the pot. Once melted, add the diced onion and cook for 3-4 minutes until softened. Stir in the minced garlic and cook for another 30 seconds until fragrant.
Sprinkle the flour over the onions and garlic. Whisk constantly for 1-2 minutes to cook out the raw flour taste and create a roux.
Gradually pour in the beef broth while whisking vigorously to prevent lumps. Stir in the Dijon mustard and dried thyme.
Bring the mixture to a gentle boil, then reduce heat to a simmer. Add the uncooked pasta shells. Simmer for 8-10 minutes, or until the pasta is tender (al dente).
Stir in the heavy cream, the cooked beef steak, and half of the crispy beef bacon. Simmer for 2-3 minutes to warm everything through. Do not let it boil vigorously once the cream is added.
Remove the pot from the heat. Gradually stir in the shredded Swiss cheese, a handful at a time, stirring constantly until melted and smooth.
Taste and adjust seasoning with salt and pepper. Serve hot, garnished with the remaining crispy beef bacon, croutons, and fresh chopped parsley.