Add salt to a large pot of water and bring to a boil.
Cook macaroni until al dente (according to package directions) and drain.
Meanwhile, melt the butter in a large saucepan over medium heat.
Add onion and cook until translucent, about 5 minutes.
Stir in the flour, mustard powder, pepper, and salt.
Let the flour cook for 1 minute, stirring often.
Slowly pour in milk, whisking continuously, and cook until thickened.
Add in the shredded cheeses, and stir until melted.
Remove from heat.
Stir in the drained pasta.
Season with additional salt and pepper, if desired, and serve warm.
