Bring a large pot of salted water to a rolling boil. Stir in the pasta, and cook it according to the package directions- up until the last 3-4 minutes of cook time for the pasta.
When the pasta has 3-4 minutes left to cook, stir in the broccoli. When the pasta's cooked, drain both in a strainer. Set aside.
Set the same pot over medium heat, and add the butter. Once melted, whisk in the flour until the roux is formed and smooth. Let the mixture cook for a full minute, whisking constantly, to cook out any floury taste.
Slowly whisk in the milk, a little at a time, until a smooth thickened sauce base has formed. Stir in the seasonings to evenly incorporate.
Raise the heat to bring the mixture to a bubble. Continue to whisk, until the mixture's bubbling and thickened. Remove the skillet from heat.
Add the cheese, stirring until it's completely melted and the sauce is smooth.
Add the ham, pasta, & broccoli to the pot. Stir everything together until evenly combined.
Serve immediately, and enjoy!