Have all your ingredients prepared for making macaroni and cheese from scratch.
Saute oil and onion until softened, about 5 minutes.
Add butter to the pan and let it melt.
Add flour, stir into a paste, and let it bubble while stirring for a couple of minutes to cook the flour.
Pour in whole milk, stirring briskly to integrate with the flour and butter.
Increase heat, stirring and scraping until mixture thickens to coat a spoon. You've made your sauce for macaroni and cheese from scratch!
Take sauce off heat, let it cool briefly, then mix in cheese until melted. Season well.
Cook pasta according to package directions, then drain and add the macaroni and cheese sauce.
Mix the pasta through the sauce and pour the macaroni and cheese into a baking dish.
Sprinkle your macaroni and cheese from scratch with more cheese, then scatter with breadcrumbs.
Bake until cheese is golden, crumbs crisp, and sauce bubbles, about 30 minutes.
Macaroni and cheese from scratch is best served immediately, while the sauce and cheese is all gooey and stretchy. Yum.