Heat oven to 350 degrees. Coat a 2-quart broiler-safe dish with nonstick spray. Bring a large pot of lightly salted water to boiling. Add penne; cook 11 minutes, or as per package directions. Drain.
Meanwhile, melt butter in a medium saucepan over medium heat. Sprinkle with flour and cook, whisking, 1 minute. Whisk in milk, onion flakes, mustard powder, salt and cayenne. Bring to a simmer over medium-high heat. Reduce heat and simmer, whisking, 3 minutes. Remove from heat.
Toss cheeses together. Whisk 2 1/2 cups of the cheese into milk mixture until smooth. Stir sauce into pasta. Spoon half into prepared baking dish. Top with half of the remaining cheese. Repeat layering, ending with cheese.
Bake at 350° for 20 minutes. Increase heat to broil and broil 3 to 4 minutes until bubbly and browned.