Chop your asparagus into 1" pieces, removing the woody ends. Clean and slice your leeks. Set aside.
Add the macaroni to 6 quarts of boiling salted water (about 3 tablespoons of sea salt) and cook just below the recommended time on the instructions to your pasta. We want it to be on the verge of al dente since your pasta will continue to be cooked in the oven. Generally allow 1 minute below the recommended cook time. Drain and set aside.
In a small saucepan heat the milk on low. Do not allow to boil.
In a saute pan on medium heat, add the bacon. Render the fat and cook until crispy. Remove the bacon and place on a paper towel to absorb some of the oil. You should have around 2 tablespoons of bacon fat left over depending on the quality of your bacon. If it seems a little short, add a little extra butter later to make up for it AFTER the next step. If it seems like you have too much, just pour some of the fat off.
Add the sliced leak and cook in the bacon fat for around 5 minutes on medium heat. Once your leek has cooked down, add your butter and whisk in the flour and cook for about 2 minutes, stirring constantly to keep lumps from forming.
Add the milk and whisk it into the butter and flour mixture. Continue to whisk vigorously, and cook until the mixture is nice and smooth. Stir in the 4 cups of the cheese and continue to cook and stir to melt the cheese. Season with salt and pepper.
In a large baking pan, add pasta, cheese sauce and asparagus and mix together. Top with 1 cup of shredded cheese. Place in the oven for 35 minutes. Remove from oven and top with cooked bacon. Serve and enjoy!