Preheat oven: If covering the top of the pasta in provolone, preheat oven to 350 degrees F.
Cook pasta: Cook pasta in heavily salted water just until al dente. Reserve ½ cup pasta water before draining. Drain and rinse, then toss pasta with a drizzle of olive oil; set aside.
Cook beef: Heat 1 tablespoon oil in a large Dutch oven or braiser (pictured) over medium-high heat (a pot large enough to later combine the pasta). Once hot, add beef and cook, while crumbling, until almost cooked through. Season with ½ teaspoon salt and ¼ teaspoon pepper, and continue to cook until completely cooked through. Remove to a plate with a slotted spoon.
Sauté onions and peppers: Add 2 tablespoons olive oil to the drippings and heat over medium-high heat. Add the onions and sauté for 5 minutes. Add the bell peppers and cook 3 additional minutes, or longer, as needed, until the onions are softened. Add the garlic and red pepper flakes and sauté for 30 seconds.
Make sauce: Sprinkle in the flour and cook for 1 additional minute. Reduce heat to low, then slowly whisk in beef broth, followed by the half and half. Stir in the Worcestershire, balsamic, Dijon, beef bouillon, and all seasonings, along with ½ teaspoon salt and ¼ teaspoon pepper. Increase heat to medium-high and bring the sauce to a simmer until thickened (but not too thick), stirring often, scraping up the brown bits on the bottom of the pan.
Add cheeses: Reduce to low and add 4 ounces provolone a handful at a time, until melted, followed by shredded cheddar. Continue to cook for a few minutes, until the cheeses are completely melted.
Add pasta: Stir in cooked beef, followed by the pasta. If the sauce is too thick, stir in some reserved pasta water, a couple tablespoons at a time. Taste and season with salt and pepper to taste (I add both).
Bake with cheese (optional): Evenly cover the pasta with remaining provolone slices. Cover, and bake, until the cheese is completely melted, 5-10 minutes. Garnish with parsley if desired, dig in!