Bring a pot of salted water to a boil and cook the pasta according to the package directions.
While the pasta is cooking, in a large skillet or pot, melt the butter and oil together. Saute the onion until softened. Add the ham and saute until the ham is browned.
Sprinkle the flour over the ham and continue to cook for a minute while stirring. Whisk in the chicken broth and scrap any browned bits off the bottom of the pan. Reduce the heat to low and stir in the cream, broccoli and Parmesan.
Taste the sauce and add salt and pepper if necessary. With a strainer or large slotted spoon, add the pasta directly from the cooking liquid to the sauce. Toss it all together until all of the pasta is coated evenly.