Cook the Pasta: Bring a large pot of salted water to a boil. Add the elbow macaroni and cook until al dente, according to package instructions. Drain and set aside.
Make the Cheese Sauce: In a large saucepan over medium heat, melt 4 tablespoons of butter. Once melted, whisk in the flour and cook for about 2 minutes, stirring constantly, until the mixture turns a light golden color. Gradually whisk in the milk and heavy cream until smooth. Continue to cook, whisking constantly, until the mixture thickens and bubbles. Reduce heat to low and add the cheddar and mozzarella cheeses, one handful at a time, stirring until completely melted and smooth. Stir in the salt, black pepper, garlic powder, onion powder, and smoked paprika.
Combine Pasta and Sauce: Add the cooked pasta to the cheese sauce and stir until well combined and the pasta is evenly coated with the sauce.
Prepare for Baking: Preheat your oven to 350°F (175°C). Transfer the mac and cheese mixture to a greased 9×13-inch baking dish.
Make the Topping: In a small bowl, combine the panko breadcrumbs with the melted butter and grated Parmesan cheese. Mix until the breadcrumbs are evenly coated with the butter.
Bake: Sprinkle the breadcrumb mixture evenly over the top of the mac and cheese. Bake in the preheated oven for 20-25 minutes, or until the top is golden brown and crispy.
Garnish and Serve: Remove from the oven and let it cool slightly before serving. Garnish with chopped fresh parsley if desired. Enjoy your delicious homemade mac and cheese!