Cook the pasta according to the package instructions - usually 8-10 minutes.
In a bowl add the tofu, liquid smoke and soy sauce and mix well. Ideally you do this ahead of time to let it marinade.
In a large pan, heat the olive oil and fry the tofu for 5-7 minutes until it starts to get crispy and the moisture in the soy sauce has disappeared.
Add the onions and fry until soft, around 5 minutes.
Add the garlic and cook for another minute.
Sprinkle the flour over the mixture ensuring it's all coated well, and cook for another 30 seconds - 1 minute ensuring you do not let it stick and burn.
Add the milk, cream, nutritional yeast, salt and pepper and mix together well. Simmer for 5-8 minutes or until the sauce thickens. If it's too thick, add a splash of milk. If it's not thickening well just let it simmer a little longer.
Stir in the pasta and serve with fresh parsley, and vegan Parmesan if you like. Enjoy!