Preheat the oven to 350°F.
Bring a large pot of water to a boil. Add 1/2 lb ziti and cook for 9 minutes, 1 minute short of al dente. Drain and set aside. (See notes 1, 2)
1/2 lb ziti
In a large saucepan over medium heat, melt 2 tbsp vegan butter. Whisk in 2 tbsp flour and stir until smooth to form a roux.
2 tbsp vegan butter, 2 tbsp all-purpose flour
Gradually pour in 1 1/4 cups soy milk, whisking constantly so the sauce stays smooth and lump-free.
1 1/4 cups unsweetened soy milk
Add 1 cup shredded 2% cheddar, 1/2 cup shredded Gruyère, and 1/4 cup grated Parmesan. Stir until the cheese melts and the sauce comes to a gentle simmer. (See note 3)
1 cup shredded 2% cheddar cheese, 1/2 cup shredded Gruyère cheese, 1/4 cup grated Parmesan cheese
Take the cheese sauce off the heat and fold in the cooked ziti until every piece is coated. Spread the mixture into a 2-quart baking dish.
In a frying pan over medium to medium-high heat, melt 1 tbsp vegan butter. Add 1/2 cup plain panko breadcrumbs, 1/4 tsp pink salt, 1/8 tsp ground black pepper, 1/8 tsp paprika, and 1 tsp Calabrian chili peppers in oil. (See note 4) Stir until the breadcrumbs are evenly coated and golden.
1 tbsp vegan butter, 1/2 cup plain panko breadcrumbs, 1/4 tsp pink salt, 1/8 tsp ground black pepper, 1/8 tsp paprika, 1 tsp Calabrian chili peppers in oil
Scatter the toasted crumbs evenly over the ziti. Bake for 30 minutes, until the sauce is bubbling at the edges.