In a large saucepan over medium heat, warm 2 tbsp olive oil or dairy-free butter. Sauté the chopped onion for 3–4 minutes until translucent.
Add the minced garlic and cook 30 seconds until fragrant.
Stir in the flour and cook 1–2 minutes, whisking constantly to form a paste (roux).
Slowly whisk in the plant milk, a little at a time, whisking until smooth and thickened (2–3 minutes).
Stir in the vegan shredded cheese, nutritional yeast (if using), Dijon mustard, smoked paprika, cayenne (optional), salt, and pepper. Whisk until the cheese melts into a creamy sauce. Taste and adjust seasoning.
Combine pasta, protein, and sauce: In a large bowl or in the pot, combine the drained pasta, shredded chicken (or vegan substitute), and sauce. Stir in peas or broccoli if using. Mix until everything is evenly coated.