Preheat the oven to 400°F (200°C).
Bring a large pot of generously salted water to a boil and cook the fettuccine until al dente according to package directions; drain and set aside.
In a small bowl, combine 2 1/2 tablespoons olive oil with 1/4 tsp salt, 1/4 tsp pepper, 1/4 tsp garlic powder, and 1/4 tsp paprika to make the spice oil.
Reserve about 2 tablespoons of the spice oil in a separate bowl and toss the broccoli with the remaining spice oil; spread broccoli in a single layer on a large baking sheet and roast for 4 minutes.
Toss the shrimp with the reserved spice oil, then add the shrimp to the baking sheet with the partially roasted broccoli and continue roasting 6–8 minutes more, until shrimp are opaque and broccoli is crisp-tender.
While the shrimp and broccoli roast, heat 1 tablespoon olive oil and 1 tablespoon butter in a large skillet over medium-low heat; add the minced garlic and sauté about 30 seconds until fragrant.
Sprinkle in 1/4 cup flour and cook, stirring, about 3 minutes to remove the raw flour taste, then reduce heat to low.
Slowly whisk in 1 3/4 cups chicken broth and 1 1/2 cups milk until smooth, then increase heat to medium-high and bring the sauce to a simmer, stirring occasionally until slightly thickened.
Stir in 1 tsp dried basil, 1/2 tsp salt, 1/2 tsp dried parsley, 1/2 tsp onion powder, 1/4 tsp black pepper and a dash of red pepper flakes if using; simmer briefly to combine.
Reduce heat to medium-low and stir in 1/2 cup grated Parmesan, 3/4 cup shredded mozzarella, and the cubed 2 oz cream cheese until the cheeses melt and the sauce is smooth.
Add the roasted broccoli and shrimp to the skillet, then add the cooked fettuccine and toss until everything is evenly coated in the sauce; add a splash of milk if you need to loosen the sauce.
Taste and adjust seasoning with additional salt, pepper, or red pepper flakes as desired.
Serve topped with extra freshly grated Parmesan, chopped fresh parsley, and a squeeze of lemon juice if desired.