Preheat the oven to 375°F (190°C).
Cook the lasagna noodles according to package instructions. Drain and set aside.
In a large pot, melt the butter over medium heat. Stir in the flour and cook for 1-2 minutes until bubbly.
Gradually whisk in the milk, stirring continuously until the sauce thickens, about 5-7 minutes.
Add garlic powder, onion powder, salt, and pepper to the thick sauce. Stir in the cheddar and Parmesan cheese until melted and smooth.
In a separate bowl, combine the ricotta cheese, half of the parsley, and a pinch of salt and pepper. Mix until smooth.
Start layering the lasagna: spread a layer of cheese sauce in the bottom of a baking dish, followed by a layer of lasagna noodles, half of the macaroni, and half of the ricotta mixture.
Repeat the layers: sauce, noodles, remaining macaroni, and remaining ricotta. Top off with the final layer of noodles and cheese sauce.
Sprinkle the remaining cheddar and Parmesan cheese on top.
Cover the baking dish with foil and bake for 30 minutes. Remove the foil and bake for an additional 15-20 minutes until golden and bubbly.
Let the lasagna sit for 10-15 minutes before slicing and serving.