Bring a large pot of salted water to a boil and cook pasta according to the package directions. Drain and return to the pot. Set aside.
In a heavy skillet or medium pot, cook the bacon and onions until the bacon is crisp and the onions are starting to turn golden. Drain any excess fat and add the garlic and chard; saute for a few minutes, until the chard wilts. Add the mixture to the pasta.
Return the empty pan to the heat and add the oil and butter. When the foam subsides, add the flour and stir, cooking, for a minute. Gradually whisk in about a cup of the milk, whisk until smooth and then add the remaining milk. Cook over medium heat, whisking often, until the mixture comes to a boil; let it boil gently for a minute or two, stirring constantly. Stir in the cheese, remove from the heat and stir until the cheese melts and the sauce is smooth. Season with salt and pepper. Add the cheese sauce to the pasta, bacon and chard and stir everything together.
Preheat oven to 350°F. In the bowl of a food processor, blitz the bread to crumbs; add the Parmesan and oil and pulse to blend well.
Pour the pasta mixture into an appropriately-sized baking dish (9”x13” is about right, or any casserole that will accommodate it), scatter the crumbs overtop and bake for 45 minutes, until bubbly around the edges and golden on top.