Bring a large pot of salted water to a rolling boil. Cook pasta according to package directions until al dente, about 8-10 minutes. In the last 3 minutes, add broccoli florets to the pasta water. Drain together, reserving 1 cup pasta water.
Season chicken cubes generously with salt, pepper, and Italian seasoning. Heat 2 tablespoons olive oil in a large skillet over medium-high heat.
Cook chicken in a single layer for 5-6 minutes, turning occasionally, until golden brown and cooked through (165°F internal temperature). Remove to a plate and tent with foil.
Make the sauce: In the same skillet, add remaining 1 tablespoon olive oil and butter. Once butter melts, add minced garlic and cook 30 seconds until fragrant.
Sprinkle flour over garlic and butter, stirring constantly for 1-2 minutes to cook out raw flour taste and create a roux.
Gradually whisk in chicken broth, ensuring no lumps form. Bring to a gentle simmer and cook 2-3 minutes until slightly thickened.
Reduce heat to medium-low and stir in half-and-half or heavy cream. Add parmesan cheese in batches, stirring until completely melted and smooth.
Return chicken to the skillet along with the cooked pasta and broccoli. Toss everything together until evenly coated with the creamy sauce.
Adjust consistency with reserved pasta water if sauce is too thick. Season with additional salt and pepper to taste.
Serve immediately garnished with fresh parsley, extra parmesan, and red pepper flakes if desired.