Preheat oven to 350 degrees.
Place crumbled stale rye bread in a skillet with 1 tablespoon of butter and cook over medium heat until lightly toasted. Remove breadcrumbs from heat and set aside.
Place oil in a pan and add onions, sautéing until onions are translucent and slightly charred. Remove from heat and set aside.
Bring water to boil and add macaroni, cooking it two minutes fewer than the package instructions (it will finish cooking in the oven). Remove from heat and set aside.
In separate saucepan melt 3 tablespoon butter on medium heat and gradually add flour, cooking until a smooth light blond (about 6 minutes), stirring continually. Gradually add warmed milk and stir smooth.
Once the sauce is smooth and thickened place the heat on low; stir in cheese cubes, mustard, onions, salt, and pepper.
Combine cheese sauce with macaroni and then place in a 7x11” baking dish. Top with breadcrumbs and Parmesan cheese and bake for 30 minutes.