Cook the pasta in boiling water according to packet instructions. Drain and set aside.
Meanwhile, over medium heat, fry the bacon, mushrooms, onion and garlic for 10 minutes, until done.
In a separate pan, melt the butter and add the flour. Gradually stir in the milk, whisking to get rid of any lumps. Season with salt and pepper. Bring to the boil, then simmer until sauce begins to thicken. Remove from heat and add the cheese, stirring until melted.
Mix the bacon, mushrooms, onion and garlic into the sauce. Pour the sauce over the drained pasta, toss until evenly coated and serve.