Cook pasta according to directions until al dente in salted water.
Meanwhile, melt 2 tablespoons of the butter in a large oven-safe skillet. Add the flour (2 tablespoons) and stir to coat in the butter, and continue to cook, stirring, for about 1 minute. Gradually pour in the milk (2 cups) and whisk to combine so there are no clumps of flour. Continue heating and whisking until thickened a bit (about 2 minutes). Stir in the mozzarella cheese (8 oz.), half of the parmesan cheese (1/4 cup), and half of the fresh parsley (2 tablespoons). Whisk until fully combined.
In a small bowl, melt the remaining 2 tablespoons of butter. Add the breadcrumbs (1 cup), the rest of the parmesan (1/4 cup), the rest of the parsley (2 tablespoons), the garlic powder (1 teaspoon), and plenty of black pepper. Stir until breadcrumbs are well-coated in the butter.
When pasta is done cooking, drain it or use a slotted spoon to transfer it over to the cheese sauce. Stir to coat. It will seem really thick- don't worry, it will thin out as the pasta and any water clinging to it settles in.
Sprinkle the breadcrumb mixture on top of the pasta and cheese sauce.
Broil for 5-10 minutes close to the top of the oven, rotating the skillet if necessary and checking to make sure it doesn't burn. Once the breadcrumbs are golden-brown, remove from oven, place a handle cover or towel on the skillet's handle, and serve the mac and cheese sprinkled with more fresh parsley, if desired.
This recipe feeds 8 as a side, and 4-6 as a main course. Since it's so rich, I recommend it as a side, so the nutrition information is based on the smaller portion.
Don't have an oven-safe skillet? Make the cheese sauce in another skillet or pot, mix the pasta with it, and transfer everything to a lightly greased 9x13 (or similar) baking dish, then top with breadcrumbs and proceed as directed. If the baking dish is not broiler safe, I recommend baking at a high temp (around 450 degrees) for 15 minutes, until breadcrumbs are golden.
Make ahead instructions: You can assemble this mac and cheese in a 9x13 baking dish up to two days in advance. Cover with foil and bake at 350 degrees for 30 minutes. Then uncover and bake at 450 degrees until breadcrumbs are toasted for about 10-15 minutes. You can also freeze the assembled mac and cheese- I recommend defrosting it for 24 hours in the fridge before baking it, or cooking it covered straight from the freezer for an hour before uncovering. Keep in mind- longer cooking times may result in a dryer mac and cheese.
Add veggies: frozen peas, sliced zucchini, baby spinach, or other veggies would be welcome additions to this mac and cheese. Add them to the pasta toward the last few minutes of cooking (time will depend on the veggie) to cook directly in the pasta water and drain with the pasta. You could also add chopped sun dried tomatoes, jarred roasted red peppers, or capers to the sauce.
Add Protein: Italian sausage or ground beef/turkey can be added for a heartier meal- I recommend crumbling and browning it and adding the cooked sausage crumbles when you add the cooked pasta to the cheese sauce, leaving any fat from cooking the sausage behind. You can also add leftover shredded rotisserie chicken or drained and rinsed canned beans.
Traditional parmesan cheese may not be suitable for a strict vegetarian diet because it contains animal rennet. If you prefer, you can look for a suitable vegetarian substitute, such as a parmesan made with plant rennet.