Bring 12 cups of water to a rolling boil in a large pot; add 1 tablespoon salt and the 14 ounces of spaghetti.
Cook the spaghetti according to package instructions minus 1 minute. In the final minute of cooking, add the frozen peas to the boiling water.
Before draining, scoop out 1 cup of pasta cooking water and set aside, then drain the pasta and peas in a colander and shake off excess water.
While the pasta cooks, melt 4 tablespoons butter in a large skillet over medium heat.
Sprinkle 1/4 cup flour over the melted butter and whisk until smooth, cooking and whisking for about 1 minute to form a roux.
Gradually pour in 1 cup whole milk while whisking constantly until the sauce is smooth and has thickened slightly.
Whisk in 1 teaspoon garlic powder, 1 teaspoon onion powder, 1/2 teaspoon ground mustard, and a pinch of salt and pepper.
Remove the skillet from the heat and add the shredded cheddar in handfuls, stirring after each addition until mostly melted and combined into the sauce.
Add the drained pasta and peas to the skillet and toss with tongs until the sauce coats the pasta evenly.
Stir in reserved pasta water a little at a time until you reach a creamy consistency, then taste and adjust salt and pepper as needed.
Serve immediately topped with freshly grated Parmesan cheese.