Preheat the oven to 400 degrees(F).
Cook the pasta according to package directions, drain when al dente.
While the pasta cooks, heat the olive oil in a large pot on medium high.
Add the leeks and mushrooms. Sauté, reducing heat as needed, until the mushrooms have released their liquid and are starting to brown. This will take about 8 to 10 minutes. Season with a pinch of salt and pepper.
Then, remove the mushrooms and leeks from the pot, put in a bowl and set aside.
Now, pour the lemon juice or wine into the pot to deglaze the pot and scrap off any bits that are stuck to the bottom of the pot.
Add the vegan butter to the pot, and then once it has melted, add the garlic and sauté for 1 to 2 minutes.
Pour the flour into the pot and then whisk it into the vegan butter and garlic to make a roux.
Pour the non-dairy milk into the pot as well as a pinch of salt and pepper. Then whisk to fully combine. Making sure there are no lumps of roux left.
Bring to a simmer, then reduce heat to medium low and let simmer for 3 to 4 minutes or until the sauce is nice and thick.
Add 1 1/4 cups of vegan cheese(I used half mozzarella and half Parmesan), then whisk to combine, and continue to whisk until the cheese has melted into the sauce.
Taste and adjust seasonings, adding more salt, pepper or lemon juice if needed.
Now, add the leeks and mushrooms back into the pot, as well as the pasta once it is done. Toss to combine everything.
Pour the mac and cheese into a 9 x 9 inch baking dish and smooth out.
Top with the remaining 1/4 cup of vegan cheese.
Now, in a small mixing bowl, combine the topping ingredients, tossing it together so the panko is coated in olive oil.
Sprinkle the topping evenly on top of the mac and cheese.
Bake for 10 to 15 minutes or until the panko topping is golden brown. Serve!