- Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to package instructions until al dente, usually about 7-8 minutes. Drain the pasta and set aside. 
- In the same pot or a separate saucepan, melt 1/4 cup of unsalted butter over medium heat. Once melted, whisk in the all-purpose flour and cook for about 1-2 minutes until you have a smooth, bubbly roux. Gradually add the 3 cups of milk, whisking constantly to avoid lumps. Cook the mixture until it thickens, about 5-7 minutes. 
- Lower the heat and stir in garlic powder, onion powder, salt, and black pepper to taste. Slowly add the shredded cheddar and mozzarella cheeses, stirring continuously until melted and smooth. 
- Return the drained elbow macaroni to the pot with the cheese sauce. Stir well to coat the pasta evenly. 
- In a mixing bowl, combine the crushed Ritz crackers with 2 tablespoons of melted butter. Mix until the cracker crumbs are evenly coated. 
- Pour the cheesy macaroni mixture into a greased 9x13-inch baking dish. Evenly sprinkle the buttery Ritz cracker topping over the surface. Bake in a preheated oven at 350°F (175°C) for 25-30 minutes, or until the topping is golden brown and crispy. 
- Let the baked mac and cheese cool for a few minutes before serving. This allows the sauce to thicken slightly and makes it easier to portion out.