Pre-heat the broiler.
Bring a large pot of water to a boil for the pasta. Salt the water and cook the pasta to al dente, according to the package directions (about 10-12 minutes total, depending on the brand). When the pasta has been cooking for a couple of minutes, add the broccoli to the water and finish cooking everything together, 8 minutes more.
Meanwhile, melt the butter in a saucepot over medium heat. Add the garlic and cook for 2-3 minutes. Whisk in the flour and cook for 1 minute, then whisk in the stock and milk. Let the sauce thicken to coat the back of a spoon; stir in 2 cups of cheese and season with salt and pepper.
Drain the pasta and broccoli and toss with the sauce. Adjust the seasonings, to taste. Place in a large casserole dish and top with the remaining cheese, then place under the broiler to bubble and brown the top. When you remove from the oven, sprinkle with chives or scallions (if using) and serve.