In a large nonstick skillet, heat olive oil over medium heat. Add sliced onions and cook, stirring occasionally, until softened (about 10 minutes).
Cover the skillet and cook for an additional 8-10 minutes, stirring occasionally, until onions are golden brown. Add 1/4 cup water, cover again, and cook for 15 minutes, stirring until onions are deeply caramelized.
Stir in mushrooms and cook until tender and slightly browned, stirring occasionally (about 7-10 minutes).
Mix in garlic, 1/2 teaspoon kosher salt, and red pepper flakes. Continue to cook for 1-2 minutes until fragrant.
In the meantime, bring a large saucepan of salted water to a boil. Add bucatini pasta and cook according to package directions until al dente.
One minute before pasta is done, add broccoli florets to the boiling water. Reserve 1 cup of pasta water before draining.
Drain pasta and broccoli, then transfer them into the skillet with onions and mushrooms.
Gently toss everything together with Parmesan cheese, parsley, remaining kosher salt, and 1/2 cup of the reserved pasta water. Adjust consistency by adding more pasta water if necessary.
Season with additional salt and pepper as desired. Serve warm and enjoy!