01 - Bring water and salt to a boil in a large pot. Add pasta and cook according to package instructions until al dente. Drain, reserving 1/2 cup pasta water.
02 - Melt butter in a medium saucepan over medium heat. Stir in flour and cook for 1 minute, stirring constantly.
03 - Gradually whisk in milk, avoiding lumps. Cook, whisking, until sauce thickens and coats the back of a spoon, about 3-5 minutes.
04 - Reduce heat to low. Stir in cheddar and Parmesan cheeses until melted and smooth. Season with garlic powder, black pepper, and salt.
05 - Add drained pasta to cheese sauce and toss to coat. Adjust consistency with reserved pasta water if needed.
06 - Serve immediately, garnished with fresh parsley and extra Parmesan cheese if desired.