Cook the pasta - Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to the package instructions until al dente. Drain the pasta in a colander and set aside. Don't overcook the pasta, as it will continue to cook in the oven. Make sure to salt the pasta water well, as it will add flavor to the pasta.
Prepare the cheese sauce - In a large saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1-2 minutes, until the mixture is golden brown and bubbly. Slowly whisk in the milk, making sure to whisk out any lumps. Bring the mixture to a simmer and cook, whisking constantly, until the sauce has thickened and coats the back of a spoon. Add the shredded cheddar cheese and Gruyere cheese, and stir until melted and smooth. Season the sauce with salt and pepper to taste. Make sure to whisk the flour into the butter mixture thoroughly to avoid any lumps in the sauce. Use a high-quality cheese for the best flavor and melting properties. Don't forget to season the sauce with salt and pepper to enhance the flavors.
Add the veggies and pasta to the cheese sauce - Preheat the oven to 375°F. Add the cooked pasta, broccoli florets, and frozen peas to the cheese sauce and stir to combine. Pour the mixture into an oven-safe baking dish and spread it out in an even layer. Bake for 20-25 minutes, or until the top is golden brown and the sauce is bubbling. Make sure to stir the pasta and veggies into the sauce gently, so as not to break up the pasta or crush the veggies. You can also add breadcrumbs or Parmesan cheese to the top of the mac and cheese before baking for a crispy crust.
Garnish and serve - Remove the baking dish from the oven and let it cool for a few minutes. Sprinkle the chopped parsley over the top of the mac and cheese. Serve hot and enjoy! You can also add other toppings to the mac and cheese, like bacon bits, scallions, or hot sauce, to customize it to your tastes.