Baked Macaroni and Cheese with Bacon Breadcrumbs

When I was a kid, I would make macaroni and cheese by stirring unmeasured amounts of cheese, butter, and milk into hot, cooked macaroni noodles. The result was a sticky, gooey, and wholly satisfying dish. A girl I babysat loved it so much she decided — to her mom’s dismay — that she would not eat any other mac and cheese, period. Her mom wasn’t thrilled when I explained my method, which was hard for her to replicate.

Fast forward a few decades and I’m more refined in my approach to macaroni and cheese. In my adult years, I prefer a creamy sauce over a stretchy one. I also like the crunchy aspect of a topping. And I’m willing to use penne instead of macaroni if that’s what’s in the pantry. This baked pasta and cheese recipe combines both creamy and crunchy elements, and a dash of smokiness from the bacon.

Prepared baked pasta and cheese with bacon breadcrumbs.
©Blog Chef.

Baked macaroni and cheese: What to expect

  • Taste: Expect cheddar forward with the smoky, richness of bacon. If you love a smoky flavor, opt for smoked cheddar cheese in lieu of medium cheddar. That’s the way I like this dish.
  • Texture: This dish has a blend of textures. The noodles are tender, the sauce is lush, and the breadcrumbs with bacon are crunchy.
  • Foolproof factor: The sauce can easily get lumpy if you don’t keep whisking. You can also burn the flour and butter if the flame is too hot. Avoid both problems by being patient and present while making the sauce.
  • Timing: You need about 45 minutes to make this recipe. The breakdown is 10 minutes of prep, 15 minutes to make the sauce, and 20 minutes to bake.    

Ingredients and how to use them

  • Pasta: You’ll need 8 oz of pasta, which you’ll cook according to the instructions on the box. Macaroni, penne, or rigatoni all work wonderfully.
  • Butter and white flour: 4 tablespoons of butter and 4 tablespoons of white flour combined are the starting point for your cheese sauce. You can use wheat flour instead, but it will give the sauce a grainier texture.
  • Salt and pepper: Salt and pepper goes into the sauce to enhance the flavors. You can eyeball this measurement if you know your salt and pepper preferences. If you don’t like to guess, add ½ teaspoon of salt and ¼ teaspoon pepper, then adjust to taste.   
  • Milk and cream: Once you melt the butter and whisk in flour, salt, and pepper, you’ll add 2 cups total of milk and cream. You can use as much as 1 cup of cream or use all milk. More cream will deliver a richer flavor. More milk will be healthier.
  • Bacon: You’ll fry 2 slices of bacon in a pan and crumble them once they cool. These get added into the breadcrumbs to form the topping for the dish.
  • Cheese: 2 cups of shredded cheese go into the white sauce. You can use medium cheddar, smoked cheddar, or sharp cheddar, depending on your preference. I like smoked cheddar since it goes well with the bacon.
  • Breadcrumbs: You need ½ cup of breadcrumb for the pasta’s topping.
  • More butter: 1 tablespoon of butter combined with 1 tablespoon of reserved bacon fat coats the breadcrumbs so they don’t dry out in the oven.

Equipment needed

  • Large pot for cooking the pasta
  • Medium skillet to cook the bacon
  • Medium saucepan to make the cheese sauce
  • Whisk to make the cheese sauce
  • Baking dish  

Tips for success

Prepared baked pasta and cheese with bacon breadcrumbs.
©Blog Chef.
  1. Don’t overlook the pasta. Cook the noodles until they are al dente, which means that they are still a bit firm in the center. They’ll soften more while cooking in the oven.
  2. Butter the inside of the baking dish before adding the pasta. This makes for easier cleanup.
  3. Be patient with the sauce. Keep the heat no hotter than medium and whisk constantly for a super creamy texture.  
Prepared baked pasta and cheese with bacon breadcrumbs just out of the oven.
©Blog Chef.

More cheese pasta recipes to try

If you like baked pasta and cheese, you might also want to try these:

  • Cheesy Taco Pasta Recipe
  • Pizza Stuffed Shells
  • Cheese Stuffed Shells
  • Beer Macaroni and Cheese

Print

.tasty-recipes-print-button{background-color:#667;border:none;display:inline-block;padding:.5em 1em;text-decoration:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card{color:#fff;display:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card:hover{background-color:#b2b2bb;color:#fff;display:inline-block;padding:.5em 1em;text-decoration:none}.tasty-recipes-image-button-container{display:flex;flex-direction:column;flex-wrap:wrap;float:right;margin-left:10px}body.tasty-recipes-print-view .tasty-recipes-buttons,body.tasty-recipes-print-view .tasty-recipes-cook-mode{display:none}.tasty-recipes-image-button-container .tasty-recipes-buttons{margin-bottom:10px;margin-top:10px}.tasty-recipes-image-button-container .tasty-recipes-button-wrap{box-sizing:border-box;margin-bottom:10px}.tasty-recipes-image-button-container .tasty-recipes-buttons a,.tasty-recipes-quick-links a.button{background-color:#f9f9f9;background-color:var(–tr-button-color,#f9f9f9);border:1px solid #aaa;border-color:var(–tr-button-color,#aaa);border-radius:0;color:#aaa;color:var(–tr-button-text-color,#aaa);cursor:pointer;display:block;font-size:16px;font-weight:700;line-height:16px;margin-top:0;padding:8px;text-align:center;text-decoration:none;text-transform:uppercase}.tasty-recipes-quick-links{align-items:center;display:flex;gap:.625em;justify-content:center;margin-bottom:1em}.tasty-recipes-quick-links a.button{display:inline-block;margin:0}.tasty-recipes-quick-links a.button+span{display:none}.tasty-recipes-entry-content .tasty-recipes-buttons a:hover,.tasty-recipes-image-button-container .tasty-recipes-buttons .button:hover,.tasty-recipes-quick-links a.button:hover{background-color:var(–tr-button-text-color,#aaa);color:var(–tr-button-color,#f9f9f9);text-decoration:none}.tasty-recipes-image-button-container .tasty-recipes-buttons .button:hover{opacity:1}.tasty-recipes-image-button-container .tasty-recipes-buttons a:hover{background-color:#979599;text-decoration:none}.tasty-recipes-image-button-container .tasty-recipes-buttons svg{display:none}.tasty-recipes-yield-scale{border:1px solid #979599;border-radius:2px;color:#979599;font-size:.7rem;margin-left:3px;padding:0 4px}.tasty-recipes-units-scale-container{display:flex;flex-wrap:wrap}.tasty-recipes-convert-container{padding:0 1em 1em 0}.tasty-recipes-convert-container .tasty-recipes-convert-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-convert-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px;text-align:center}.tasty-recipes-convert-container button.tasty-recipes-convert-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-convert-container button:focus{outline:none}.tasty-recipes-scale-container{display:flex;padding:0 0 1em}.tasty-recipes-scale-container .tasty-recipes-scale-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-scale-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;cursor:pointer;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px}.tasty-recipes-scale-container button.tasty-recipes-scale-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-scale-container button:focus{outline:none}.tasty-recipes-ingredients-header{margin:1em 0}@media only screen and (min-width:520px){.tasty-recipes-ingredients-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}}.tasty-recipes-ingredients-header .tasty-recipes-ingredients-clipboard-container{align-items:baseline;display:inline-flex}.tasty-recipes-ingredients-header h3{margin:0 10px 10px 0}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button{background:transparent;border:none;color:#353547;height:24px;padding:0;position:relative;width:24px}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button:hover{opacity:.5}.tasty-recipes-instructions-header{align-items:baseline;display:flex;flex-wrap:wrap;justify-content:space-between;margin:1em 0}.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0 0 1rem}@media only screen and (min-width:520px){.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0}}button[name=tasty-recipes-video-toggle]{background:#979599;border:#979599;border-radius:2px;display:inline-block;font-size:14px;height:30px;line-height:20px;margin:0;padding:0;text-align:center;vertical-align:middle;width:86px}button[name=tasty-recipes-video-toggle] span{padding:0 4px;pointer-events:none}button[name=tasty-recipes-video-toggle][aria-checked=false] :last-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :first-child{background:#fff;border-radius:2px;color:#979599;padding:2px 4px}button[name=tasty-recipes-video-toggle][aria-checked=false] :first-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :last-child{color:#fff}label[for=tasty-recipes-video-toggle]{color:#979599;font-size:.6rem;line-height:30px;padding-right:8px;text-transform:uppercase;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;vertical-align:middle}.tasty-recipe-responsive-iframe-container{margin:10px 0}.tasty-recipes-equipment{display:flex;flex-wrap:wrap;justify-content:space-evenly}.tasty-recipes-equipment>h3{flex:0 0 100%}.tasty-recipes-equipment .tasty-link-card{flex:0 0 50%;padding:1.5rem 1rem;text-align:center}@media screen and (min-width:500px){.tasty-recipes-equipment .tasty-link-card{flex:0 0 33%}}.tasty-recipes-equipment .tasty-link-card p{font-size:1em;font-weight:700;margin-bottom:0}.tasty-recipes-equipment .tasty-link-card p a{color:initial}.tasty-recipes-equipment .tasty-link-card span{font-size:.9em}.tasty-recipes .tasty-recipes-nutrition ul{list-style-type:none;margin:0;padding:0}.tasty-recipes .tasty-recipes-nutrition ul:after{clear:both;content:” “;display:block}.tasty-recipes .tasty-recipes-nutrition li{float:left;list-style-type:none;margin-bottom:0;margin-left:0;margin-right:16px}.tasty-recipes-plug{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:1em;text-align:center}.tasty-recipes-plug a{box-shadow:none;text-decoration:none}.tasty-recipes-plug a img{background:transparent;box-shadow:none;display:inline-block;height:auto;margin:5px 0 0 8px;padding:0;width:150px}.tasty-recipes-footer-content{padding:1.5em;text-align:center}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:0}.tasty-recipes-footer-content img,.tasty-recipes-footer-content svg{width:60px}.tasty-recipes-entry-content .tasty-recipes-entry-footer h3{font-size:1.25em;margin:0 0 .25em;padding:0}.tasty-recipes-entry-footer p{font-size:.75em;margin:0}.tasty-recipes-entry-footer p a{border-bottom:none;box-shadow:none;text-decoration:underline}.tasty-recipes-flash-message{background-color:#fff;border-radius:4px;box-shadow:0 .3px .4px 0 rgba(0,0,0,.024),0 .9px 1.5px 0 rgba(0,0,0,.05),0 3.5px 6px 0 rgba(0,0,0,.1);color:#313135;display:inline-block;font-size:13px;letter-spacing:0;line-height:1.2em;margin-left:10px;padding:4px 10px}@media screen and (min-width:500px){.tasty-recipes-flash-message{padding:4px 10px}}.tasty-recipes-flash-message p{margin:0;padding:0;text-transform:none}@media screen and (min-width:500px){.tasty-recipes-footer-content{align-items:center;display:flex;justify-content:center;padding:1.5em 0;text-align:left}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:.8em}}@media print{.tasty-recipes-no-print,.tasty-recipes-no-print *{display:none!important}}[data-tr-ingredient-checkbox]{cursor:pointer;list-style-position:outside;list-style-type:none!important;margin-left:0!important}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container{position:relative}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label{display:inline-block;position:relative;vertical-align:middle}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label:before{border:1px solid;border-radius:2px;content:””;display:inline-block;height:20px;margin-right:10px;position:relative;width:20px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:checked+label:after{border-bottom:2px solid;border-left:2px solid;content:””;display:inline-block;height:6px;left:4px;position:absolute;top:4px;transform:rotate(-45deg);width:12px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:focus+label:before{box-shadow:0 0 8px #5e9ed6;outline:1px solid #5d9dd5}[data-tr-ingredient-checkbox=checked]{opacity:.8;text-decoration:line-through}.tasty-recipes-cook-mode__container{align-items:center;display:flex;line-height:100%}.tasty-recipes-cook-mode__container label{font-size:inherit}.tasty-recipes-cook-mode__switch{display:inline-block;height:17px;margin-right:10px;position:relative;width:30px}.tasty-recipes-cook-mode__switch-slider{background-color:#737373;bottom:0;cursor:pointer;display:block;left:0;opacity:.4;position:absolute;right:0;top:0;transition:.4s}.tasty-recipes-cook-mode__switch-slider:before{background-color:#fff;bottom:2px;content:””;height:13px;left:2px;position:absolute;transition:.4s;width:13px}.tasty-recipes-cook-mode__switch input{display:none}.tasty-recipes-cook-mode__switch input:checked+span{opacity:1}.tasty-recipes-cook-mode__switch input:checked+span:before{transform:translateX(13px)}.tasty-recipes-cook-mode__switch-round{border-radius:34px}.tasty-recipes-cook-mode__switch-round:before{border-radius:50%}.tasty-recipes-cook-mode__label{font-weight:700}@media only screen and (max-width:767px){#shop-with-instacart-v1{transform:scale(.75);transform-origin:top left}}/* Snap recipe card styles. */ .tasty-recipes-image{max-height:650px;display:flex;align-items:center;overflow:hidden;margin-bottom:-30px;z-index:1}.tasty-recipes-image img{object-fit:cover;width:100%}.tasty-recipes-entry-header{position:relative;display:flex;flex-direction:column;align-items:center;background-color:#fff;border:1px solid #dadada;border-bottom:0;border-top-left-radius:30px;border-top-right-radius:30px;padding:1.25em;z-index:2}.tasty-recipes-entry-header .tasty-recipes-title{font-size:2em;margin:0.313em 0;text-align:center}.tasty-recipes-rating-solid,.tasty-recipes-rating-outline{width:1.5em}.tasty-recipes-rating a{text-decoration:none}.tasty-recipes-entry-header .tasty-recipes-rating{text-align:center;color:#000;color:var(–tr-star-color,#000);line-height:1em}.tasty-recipes-entry-header .tasty-recipes-rating p{margin:0}.tasty-recipes-entry-header .tasty-recipes-rating .rating-label,.tasty-recipes-rating-link .rating-label{font-style:italic;font-size:0.75em}.tasty-recipes-entry-header .tasty-recipes-buttons{display:flex;margin-top:1em;margin-bottom:1em}.tasty-recipes-entry-header .tasty-recipes-button-wrap{box-sizing:border-box}.tasty-recipes-print-button{margin-right:1.25em}.tasty-recipes-quick-links a.button,a.button{display:inline-flex;align-items:center;justify-content:center;background-color:#000;background-color:var(–tr-button-color,#000);color:#fff;color:var(–tr-button-text-color,#fff);border:none;border-radius:3px;font-size:0.813em;padding-left:1em;padding-right:1em;padding-top:0.5em;padding-bottom:0.5em;text-decoration:none;letter-spacing:0.5px;white-space:nowrap}.tasty-recipes-quick-links a.button{display:inline-block}.tasty-recipes-quick-links a.button:hover{border:none}body.foodie-pro a.button:hover{box-shadow:0px 0px 0px 1px rgba(0,0,0,1) inset;color:#000}.tasty-recipes-entry-header .tasty-recipes-buttons .svg-print,.tasty-recipes-entry-header .tasty-recipes-buttons .svg-pinterest,.tasty-recipes-entry-header .tasty-recipes-buttons .svg-heart-regular,.tasty-recipes-entry-header .tasty-recipes-buttons .svg-heart-solid{height:1.25em;margin-right:0.375em;margin-bottom:0;background:none;display:inline-block;box-shadow:none;vertical-align:middle}.tasty-recipes-entry-header .tasty-recipes-description-body{font-size:0.938em;font-style:italic;line-height:1.5em}.tasty-recipes-entry-header .tasty-recipes-description-body p:first-of-type{margin:0}.tasty-recipes-entry-header .tasty-recipes-description-body p{margin:1em 0}.tasty-recipes-entry-header .tasty-recipes-details{font-size:0.875em;margin-top:0.875em}.tasty-recipes-entry-header .tasty-recipes-details .tasty-recipes-label{font-weight:bold}.tasty-recipes-entry-header .tasty-recipes-details .tasty-recipes-yield-scale{border:1px solid #000;color:#000}.tasty-recipes-print .tasty-recipes-units-scale-container{display:none}.tasty-recipes-entry-header .tasty-recipes-details ul{list-style-type:none;margin:0}.tasty-recipes-entry-header .tasty-recipes-details ul li{display:inline-block;margin-left:0.5em;margin-right:0.5em;font-size:1em;line-height:1em}.tasty-recipes-entry-header .tasty-recipes-details .detail-icon{height:1em;margin-top:0.6em}@media only screen and (max-width:520px){.tasty-recipes-entry-header .tasty-recipes-details .detail-icon{height:0.8em;margin-top:0.4em}.tasty-recipes-entry-header .tasty-recipes-details ul li{font-size:0.875em;line-height:1.75em}}.tasty-recipes-entry-content .tasty-recipes-ingredients .tasty-recipes-convert-container button{padding:6px 4px}.tasty-recipes-entry-content .tasty-recipes-ingredients .tasty-recipes-convert-container button{padding:4px}.tasty-recipes-convert-container .tasty-recipes-convert-label,.tasty-recipes-scale-container .tasty-recipes-scale-label,label[for=”tasty-recipes-video-toggle”]{font-size:0.75rem;color:#000}button[name=”tasty-recipes-video-toggle”]{border:#000;background:#000}button[name=”tasty-recipes-video-toggle”][aria-checked=”false”] :last-child,button[name=”tasty-recipes-video-toggle”][aria-checked=”true”] :first-child{color:#000}.tasty-recipes-entry-content .tasty-recipes-ingredients,.tasty-recipes-entry-content .tasty-recipes-instructions,.tasty-recipes-entry-content .tasty-recipes-equipment{background-color:#fff;border-top:1px solid #dadada;padding:1.25em}.tasty-recipes-ingredients-header .tasty-recipes-ingredients-clipboard-container{align-items:flex-start}.tasty-recipes-entry-content .tasty-recipes-ingredients-header,.tasty-recipes-entry-content .tasty-recipes-instructions-header,.tasty-recipes-entry-content .tasty-recipes-notes h3,.tasty-recipes-entry-content .tasty-recipes-nutrition h3,.tasty-recipes-entry-content .tasty-recipes-equipment h3{margin:0}.tasty-recipes-entry-content .tasty-recipes-ingredients-header h3,.tasty-recipes-entry-content .tasty-recipes-instructions-header h3,.tasty-recipes-entry-content .tasty-recipes-notes h3,.tasty-recipes-entry-content .tasty-recipes-nutrition h3,.tasty-recipes-entry-content .tasty-recipes-equipment h3{text-transform:uppercase;margin-bottom:1em;font-size:1.25em}.tasty-recipes-entry-content .tasty-recipes-ingredients h4,.tasty-recipes-entry-content .tasty-recipes-ingredients p,.tasty-recipes-entry-content .tasty-recipes-instructions h4,.tasty-recipes-entry-content .tasty-recipes-instructions p{margin:1.25em 0}.tasty-recipes-entry-content .tasty-recipes-ingredients h4:first-child,.tasty-recipes-entry-content .tasty-recipes-ingredients p:first-child,.tasty-recipes-entry-content .tasty-recipes-instructions h4:first-child,.tasty-recipes-entry-content .tasty-recipes-instructions p:first-child{margin-top:0}.tasty-recipes-entry-content .tasty-recipes-ingredients ul,.tasty-recipes-entry-content .tasty-recipes-instructions ul,.tasty-recipes-entry-header .tasty-recipes-description-body ul{list-style-type:none;margin:0 1.25em;margin-bottom:0.625em;padding:0}.tasty-recipes-entry-content .tasty-recipes-instructions p{margin:0 1.75em;margin-bottom:0.625em}.tasty-recipes-entry-content .tasty-recipes-ingredients p,.tasty-recipes-entry-content .tasty-recipes-instructions p,.tasty-recipes-entry-content .tasty-recipes-ingredients ul li,.tasty-recipes-entry-content .tasty-recipes-instructions ul li,.tasty-recipes-entry-content .tasty-recipes-ingredients ol li,.tasty-recipes-entry-content .tasty-recipes-instructions ol li{font-size:0.875em}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li,.tasty-recipes-entry-content .tasty-recipes-instructions ul li,.tasty-recipes-entry-header .tasty-recipes-description-body ul li{margin-bottom:0.625em;list-style-type:none;position:relative;margin-left:2em;line-height:1.46em}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li:before,.tasty-recipes-entry-content .tasty-recipes-instructions ul li:before,.tasty-recipes-entry-header .tasty-recipes-description-body ul li:before{border-radius:50%;height:0.5em;width:0.5em;display:block;content:”\2022″;left:-1.5em;position:absolute}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li .tr-ingredient-checkbox-container label{display:inline-flex}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li[data-tr-ingredient-checkbox]:before{display:none}.tasty-recipes-entry-content .tasty-recipes-ingredients ol,.tasty-recipes-entry-content .tasty-recipes-instructions ol,.tasty-recipes-entry-header .tasty-recipes-description-body ol{counter-reset:li;margin:0 1.25em;padding:0;margin-bottom:0.625em}.tasty-recipes-entry-content .tasty-recipes-ingredients ol>li,.tasty-recipes-entry-content .tasty-recipes-instructions ol>li,.tasty-recipes-entry-header .tasty-recipes-description-body ol>li{list-style-type:none;position:relative;margin-bottom:1em;margin-left:2em;line-height:1.46}.tasty-recipes-entry-content .tasty-recipes-ingredients ol>li:before,.tasty-recipes-entry-content .tasty-recipes-instructions ol>li:before,.tasty-recipes-entry-header .tasty-recipes-description-body ol>li:before{content:counter(li);counter-increment:li;position:absolute;background-color:#000;border-radius:50%;height:1.75em;width:1.75em;color:#fff;left:-2em;top:0;transform:translateX(-50%);font-size:0.85em;display:flex;justify-content:center;align-content:center;flex-wrap:nowrap;font-variant-numeric:lining-nums;align-items:center;flex-direction:row}.tasty-recipes-entry-content .tasty-recipes-ingredients li li,.tasty-recipes-entry-content .tasty-recipes-instructions li li{margin-top:0.625em}.tasty-recipes-entry-content .tasty-recipes-ingredients li ul,.tasty-recipes-entry-content .tasty-recipes-ingredients li ol,.tasty-recipes-entry-content .tasty-recipes-instructions li ul,.tasty-recipes-entry-content .tasty-recipes-instructions li ol{margin-bottom:0}@media only screen and (max-width:520px){.tasty-recipes-entry-content .tasty-recipes-ingredients ol,.tasty-recipes-entry-content .tasty-recipes-instructions ol{margin-left:0}}/* Equipments section */ .tasty-recipes-entry-content .tasty-recipes-equipment .tasty-link-card{padding:0em 0rem 1rem}.tasty-recipes-entry-content .tasty-recipes-equipment .tasty-link-card .tasty-link{font-weight:500}/* Notes section */ .tasty-recipes-entry-content .tasty-recipes-notes{background-color:#edf0f2;padding:1.25em}.tasty-recipes-entry-content .tasty-recipes-notes h3{margin-top:0}.tasty-recipes-entry-content .tasty-recipes-notes-body{margin:0 1.25em}.tasty-recipes-entry-content .tasty-recipes-notes ol{counter-reset:li;margin-left:0;padding:0;margin-bottom:0.625em;padding:0.625em 1.5em 0.625em 0em;background-color:#fff;border-radius:5px}.tasty-recipes-entry-content .tasty-recipes-notes ol li{padding-left:2.25em;position:relative;margin-bottom:0.625em;margin-left:0;list-style-type:none;font-size:0.875em;line-height:1.46em}.tasty-recipes-entry-content .tasty-recipes-notes p{padding:0.625em 1.5em 0em 2.25em;margin:0 auto;background-color:#fff;position:relative;margin-left:0;list-style-type:none;font-size:0.875em;line-height:1.46em}.tasty-recipes-print .tasty-recipes-entry-content .tasty-recipes-notes p{margin-bottom:0.625em}.tasty-recipes-entry-content .tasty-recipes-notes p:first-of-type{border-top-left-radius:5px;border-top-right-radius:5px}.tasty-recipes-entry-content .tasty-recipes-notes p:last-of-type{border-bottom-right-radius:5px;border-bottom-left-radius:5px;padding-bottom:0.625em;margin-bottom:0.625em}.tasty-recipes-entry-content .tasty-recipes-notes ul{margin-left:0;padding:0;margin-bottom:0;padding:0.625em 1.5em 0.625em 0em;background-color:#fff;border-radius:5px}.tasty-recipes-entry-content .tasty-recipes-notes ul li{position:relative;padding-left:2.25em;margin-bottom:0.625em;margin-left:0;list-style-type:none;font-size:0.875em;line-height:1.46em}.tasty-recipes-entry-content .tasty-recipes-notes ol li:last-child,.tasty-recipes-entry-content .tasty-recipes-notes ul li:last-child{margin-bottom:0}.tasty-recipes-entry-content .tasty-recipes-notes ul li:before{content:”\2022″;display:block;position:absolute;left:1.25em;transform:translateX(-50%)}.tasty-recipes-entry-content .tasty-recipes-notes ol>li:before{content:counter(li) “.”;counter-increment:li;position:absolute;left:1.25em;transform:translateX(-50%);text-align:center}/* Nutrifox – nutrition */ .tasty-recipes-entry-content .tasty-recipes-nutrifox{display:flex}.tasty-recipes-entry-content .tasty-recipes-nutrition{padding:1.25em;background-color:#fff}.tasty-recipes-entry-content .tasty-recipes-nutrition ul{font-size:0.75em}/* Keywords */ .tasty-recipes-entry-content .tasty-recipes-keywords{background-color:#edf0f2;text-align:center;font-size:0.75em;padding:1.25em 2.5em}.tasty-recipes-entry-content .tasty-recipes-keywords .tasty-recipes-label{font-weight:bold}.tasty-recipes-entry-content .tasty-recipes-keywords p{margin:0}/* Other Details */ .tasty-recipes-other-details{background-color:#edf0f2;padding:0 1.25em 1.25em}.tasty-recipes-entry-content .tasty-recipes-other-details ul{display:flex;flex-wrap:wrap;justify-content:center;font-size:0.75em;list-style:none;margin:0;padding-left:0px}.tasty-recipes-other-details ul li{margin:0 0.5rem;list-style:none}.tasty-recipes-other-details ul li,.tasty-recipes-entry-content .tasty-recipes-other-details ul li{font-size:1em;line-height:2.5em}.tasty-recipes-entry-content{border-right:1px solid #dadada;border-left:1px solid #dadada;display:flex;flex-direction:column}.tasty-recipes-entry-content .tasty-recipes-other-details ul li .tasty-recipes-label{font-style:italic}.tasty-recipes-other-details .detail-icon,.tasty-recipes-entry-content .tasty-recipes-other-details .detail-icon{vertical-align:top;margin-right:0.2em;display:inline-block;height:1em;margin-top:0.8em}@media only screen and (max-width:520px){.tasty-recipes-other-details .detail-icon,.tasty-recipes-entry-content .tasty-recipes-other-details .detail-icon{height:0.8em;margin-top:0.4em}.tasty-recipes-other-details ul li,.tasty-recipes-entry-content .tasty-recipes-other-details ul li{font-size:0.875em;line-height:1.75em}}.tasty-recipes-entry-footer{background-color:#000;margin-bottom:1.25em}.tasty-recipes-entry-footer .tasty-recipes-footer-copy,.tasty-recipes-entry-footer .tasty-recipes-footer-copy div p span,.tasty-recipes-entry-footer .tasty-recipes-footer-copy div p span a{color:#fff}.tasty-recipes-entry-footer .tasty-recipes-footer-copy h3{font-size:0.938em;margin:0.125em 0;color:#fff}.tasty-recipes-entry-footer img,.tasty-recipes-entry-footer svg{color:#fff}@media only screen and (max-width:520px){.tasty-recipes-entry-content .tasty-recipes-ingredients ol>li:before,.tasty-recipes-entry-content .tasty-recipes-instructions ol>li:before,.tasty-recipes-entry-header .tasty-recipes-description-body ol>li:before{height:1.5em;width:1.5em;top:0.25em;font-size:0.685em}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li:before,.tasty-recipes-entry-content .tasty-recipes-instructions ul li:before,.tasty-recipes-entry-header .tasty-recipes-description-body ul li:before{left:-1.25em}.tasty-recipes-entry-content .tasty-recipes-notes-body{margin:0}.tasty-recipes-entry-content .tasty-recipes-ingredients ul li,.tasty-recipes-entry-content .tasty-recipes-instructions ul li,.tasty-recipes-entry-header .tasty-recipes-description-body ul li{margin-left:0}.tasty-recipes-entry-content .tasty-recipes-ingredients ol>li,.tasty-recipes-entry-content .tasty-recipes-instructions ol>li,.tasty-recipes-entry-header .tasty-recipes-description-body ol>li{margin-left:1.65em}.tasty-recipes-entry-content .tasty-recipes-ingredients ol>li:before,.tasty-recipes-entry-content .tasty-recipes-instructions ol>li:before,.tasty-recipes-entry-header .tasty-recipes-description-body ol>li:before{left:-1.65em}}@media only screen and (max-width:428px){.tasty-recipes-instructions-header{flex-direction:column}.tasty-recipes-entry-content .tasty-recipes-instructions-header h3{margin-bottom:0.25em}.tasty-recipes-video-toggle-container{margin-bottom:1em}}.tasty-recipe-responsive-iframe-container{margin:0px}/* Print card */ @media print{.tasty-recipes-print-view .tasty-recipes{margin:0}}body.tasty-recipes-print-view{font-size:0.75em;background-color:#fff;line-height:1.25em}.tasty-recipes-print-view .tasty-recipes{padding:0;border:1px solid #dadada}.tasty-recipes-print-view .tasty-recipes-entry-content,.tasty-recipes-print-view .tasty-recipes-entry-header{border-radius:0;border:none}/* Fix page break in Safari */ .tasty-recipes-print-view .tasty-recipes-entry-content{display:block}.tasty-recipes-print-view .tasty-recipes-image{max-height:160px;margin-bottom:30px}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-ingredients ul,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-instructions ul,.tasty-recipes-print-view .tasty-recipes-entry-header .tasty-recipes-description-body ul{margin:0}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-ingredients ul li,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-instructions ul li,.tasty-recipes-print-view .tasty-recipes-entry-header .tasty-recipes-description-body ul li{margin-bottom:0.25em;margin-left:1.5em;line-height:1.25em}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-ingredients ol>li,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-instructions ol>li,.tasty-recipes-print-view .tasty-recipes-entry-header .tasty-recipes-description-body ol>li{margin-bottom:0.75em;margin-left:0.6em;line-height:1.25}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes-body{margin:0}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-instructions p{margin-left:2em}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes p,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes ul li,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes ol li{padding:0}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes ol>li:before{left:0.5em}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes p:before,.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-notes ul li:before{left:0.25em}.tasty-recipes-print-view .tasty-recipes-other-details{padding:0}.tasty-recipes-print-view .tasty-recipes-entry-content .tasty-recipes-other-details ul{justify-content:flex-start;padding:1.25em;padding-top:0}.tasty-recipes-print-view .tasty-recipe-video-embed,.tasty-recipes-print .tasty-recipes-entry-header .tasty-recipes-details .detail-icon,.tasty-recipes-print .tasty-recipes-entry-footer img{display:none}.tasty-recipes-print .tasty-recipes-entry-header .tasty-recipes-details ul{padding-left:0}.tasty-recipes-print .tasty-recipes-entry-header .tasty-recipes-details{margin-top:0.5em}.tasty-recipes-print .tasty-recipes-entry-header .tasty-recipes-title{margin-bottom:0.5em}.tasty-recipes-print .tasty-recipes-source-link{text-align:center}.tasty-recipes-print .tasty-recipes-entry-header .tasty-recipes-description-body p:first-of-type{margin-top:0.5em}.tasty-recipes-cook-mode__label,.tasty-recipes-cook-mode__helper{font-size:0.875em}.tasty-recipes-cook-mode .tasty-recipes-cook-mode__switch .tasty-recipes-cook-mode__switch-slider{background-color:#000}

body{ –tr-star-color:#F2B955; }

.tasty-recipes-rating-outline,.tasty-recipes-rating-solid{display:inline-block;line-height:1}.tasty-recipes-rating-outline svg,.tasty-recipes-rating-solid svg{fill:currentColor;height:var(–tr-star-size,18px);width:var(–tr-star-size,18px)}.tasty-recipes-rating-outline[data-tr-clip=”10″] svg,.tasty-recipes-rating-solid[data-tr-clip=”10″] svg{fill:url(#tasty-recipes-clip-10)}.tasty-recipes-rating-outline[data-tr-clip=”20″] svg,.tasty-recipes-rating-solid[data-tr-clip=”20″] svg{fill:url(#tasty-recipes-clip-20)}.tasty-recipes-rating-outline[data-tr-clip=”30″] svg,.tasty-recipes-rating-solid[data-tr-clip=”30″] svg{fill:url(#tasty-recipes-clip-30)}.tasty-recipes-rating-outline[data-tr-clip=”40″] svg,.tasty-recipes-rating-solid[data-tr-clip=”40″] svg{fill:url(#tasty-recipes-clip-40)}.tasty-recipes-rating-outline[data-tr-clip=”50″] svg,.tasty-recipes-rating-solid[data-tr-clip=”50″] svg{fill:url(#tasty-recipes-clip-50)}.tasty-recipes-rating-outline[data-tr-clip=”60″] svg,.tasty-recipes-rating-solid[data-tr-clip=”60″] svg{fill:url(#tasty-recipes-clip-60)}.tasty-recipes-rating-outline[data-tr-clip=”70″] svg,.tasty-recipes-rating-solid[data-tr-clip=”70″] svg{fill:url(#tasty-recipes-clip-70)}.tasty-recipes-rating-outline[data-tr-clip=”80″] svg,.tasty-recipes-rating-solid[data-tr-clip=”80″] svg{fill:url(#tasty-recipes-clip-80)}.tasty-recipes-rating-outline[data-tr-clip=”90″] svg,.tasty-recipes-rating-solid[data-tr-clip=”90″] svg{fill:url(#tasty-recipes-clip-90)}.tasty-recipes-rating-outline[data-tr-clip=”0″] svg{fill:url(#tasty-recipes-clip-0)}.tasty-recipes-rating-solid{–tr-star-opacity:.4}.tasty-recipes-rating-solid[data-tr-clip=”0″] svg{opacity:var(–tr-star-opacity)}[data-tr-default-rating]>span:not([data-tr-checked]) .tasty-recipes-rating-solid svg{–tr-star-opacity:.4;opacity:var(–tr-star-opacity)}[data-tr-default-rating]>span:not([data-tr-checked]) .tasty-recipes-rating-outline svg{fill:url(#tasty-recipes-clip-0)}[data-tr-default-rating] span[data-tr-checked]~span .tasty-recipes-rating-solid svg{fill:currentColor;–tr-star-opacity:1}[data-tr-default-rating] span[data-tr-checked]~span .tasty-recipes-rating-outline svg{fill:currentColor}input.tasty-recipes-rating:checked~span .tasty-recipes-rating-solid svg{fill:currentColor;–tr-star-opacity:1}input.tasty-recipes-rating:checked~span .tasty-recipes-rating-outline svg{fill:currentColor}@media only screen and (min-width:1024px){.tasty-recipes-ratings-buttons:hover span .tasty-recipes-rating-solid svg{–tr-star-opacity:.4!important;opacity:var(–tr-star-opacity)}.tasty-recipes-ratings-buttons:hover span .tasty-recipes-rating-outline svg{fill:url(#tasty-recipes-clip-0)!important}.tasty-recipes-ratings-buttons:hover>:hover .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons:not(:hover)>input:checked~span .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons>:hover .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons>:hover~span .tasty-recipes-rating-solid svg{fill:currentColor!important;–tr-star-opacity:1!important}.tasty-recipes-ratings-buttons:hover>:hover .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons:not(:hover)>input:checked~span .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons>:hover .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons>:hover~span .tasty-recipes-rating-outline svg{fill:currentColor!important}}.tasty-recipes-static-tooltip{background-color:#000;border-radius:4px;color:#fff;font-size:.9rem;opacity:0;padding:5px 10px;position:absolute;text-align:center;transition:opacity .5s ease-in-out,visibility .5s ease-in-out,transform .5s cubic-bezier(.71,1.7,.77,1.24);vertical-align:middle;visibility:hidden;width:230px;z-index:9}.tasty-recipes-static-tooltip.opened{opacity:1;transform:translateY(-4px);visibility:visible}.tasty-recipes-static-tooltip a{color:#f7d578;display:block}.tasty-recipes-static-tooltip:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #000;bottom:-6px;content:””;font-size:0;left:calc(50% – 4px);line-height:0;pointer-events:none;position:absolute;transform:translateZ(0);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(.71,1.7,.77,1.24);width:0;z-index:99}.tasty-recipes-static-tooltip.tr-hide-tail:after{display:none}.tasty-recipes,.tasty-recipes-quick-links,.tasty-recipes-ratings,.wp-admin .tasty-recipes-comment-form{–tr-star-size:18px;–tr-star-margin:3px}.tasty-recipes-rating,.tasty-recipes-ratings-buttons{color:#f2b955;color:var(–tr-star-color,#f2b955)}.tasty-recipes-comment-form{border:none;margin:0;padding:0}.tasty-recipes-comment-form.tasty-recipes-ratings{display:block}.tasty-recipes-entry-header div.tasty-recipes-rating p,.tasty-recipes-rating-stars,.tasty-recipes-ratings,.tasty-recipes-ratings-buttons{display:inline-flex}.tasty-recipes-entry-header div.tasty-recipes-rating p span.tasty-recipes-rating,.tasty-recipes-rating-stars span.tasty-recipes-rating,.tasty-recipes-ratings span.tasty-recipes-rating,.tasty-recipes-ratings-buttons span.tasty-recipes-rating{cursor:pointer;display:inline-block;font-size:var(–tr-star-size,1.1em);margin:0;padding-right:var(–tr-star-margin,.3em)}.tasty-recipes-entry-header div.tasty-recipes-rating p span.tasty-recipes-rating:first-child[data-rating=”5″],.tasty-recipes-rating-stars span.tasty-recipes-rating:first-child[data-rating=”5″],.tasty-recipes-ratings span.tasty-recipes-rating:first-child[data-rating=”5″],.tasty-recipes-ratings-buttons span.tasty-recipes-rating:first-child[data-rating=”5″]{padding-right:0}.tasty-recipes-entry-header div.tasty-recipes-rating p{display:flex;justify-content:center}.tasty-recipes-ratings-buttons{flex-direction:row-reverse}.tasty-recipes-ratings-buttons input[type=radio]{clip:auto;cursor:pointer;display:inline-block!important;height:auto;margin:0;margin-left:calc((var(–tr-star-size, 1.1em) + var(–tr-star-margin))*-1);opacity:0;position:relative;width:1.1em!important;width:calc(var(–tr-star-size, 1.1em) + var(–tr-star-margin))!important;z-index:2}.tasty-recipes-ratings-buttons>span{position:relative}.tasty-recipes-ratings-buttons>span i{font-style:normal}.tasty-recipes-ratings-buttons>span:first-child{padding-right:0!important}.tasty-recipes-rating a,.tasty-recipes-rating a:link{background:none;outline:none;text-decoration:none}.tasty-recipes-screen-reader{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tasty-recipes-rating-link{align-items:center;display:inline-flex}.tasty-recipes-rating-link .rating-label{font-size:80%;padding-left:.4em}.tasty-recipes-selected-minimum-rating .comment-form-comment label .required{display:none}.tasty-recipes-has-ratings{text-decoration:none!important}

Prepared baked pasta and cheese with bacon breadcrumbs.

Baked Macaroni and Cheese with Bacon Breadcrumbs

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Save Recipe

Recipe Saved

(function(){
function initGrowMeSdk() {
if (!window.growMe) {
window.growMe = function (e) {
window.growMe._.push(e);
}
window.growMe._ = [];
}
}
initGrowMeSdk();
window.growMe(function() {
function updateFavoriteButtonState(isFavorite) {
document.querySelectorAll(‘.tasty-recipes-mediavine-button’).forEach(function(el) {
el.querySelector(‘.tasty-recipes-saved’).style.display = isFavorite ? null : ‘none’;
el.querySelector(‘.tasty-recipes-not-saved’).style.display = isFavorite ? ‘none’ : null;
});
}
document.querySelectorAll(‘.tasty-recipes-mediavine-button’).forEach(function(el) {
el.addEventListener(‘click’, function() {
window.growMe.addBookmark();
});
});
window.growMe.on(‘isBookmarkedChanged’, function(data) {
updateFavoriteButtonState(data.isBookmarked);
});
var isBookmarked = window.growMe.getIsBookmarked();
updateFavoriteButtonState(isBookmarked);
});
}())


Print Recipe

This is a fan favorite! Creamy macaroni and cheese topped with a smoky bacon and breadcrumb mixture that’s baked to perfection.



  • Total Time:
    45 minutes


  • Yield:
    4 servings

Ingredients


Units
USM

  • 8 oz. elbow macaroni
  • 4 tablespoons butter
  • 4 tablespoons flour
  • 1 cup milk
  • 1 cup cream
  • 1/2 teaspoon salt
  • 1/4 teaspoon ground black pepper
  • 2 cups shredded cheddar cheese (medium, smoked, or sharp cheddar — your choice)
  • 1/2 cup breadcrumbs
  • 2 slices bacon

Cook Mode

Prevent your screen from going dark

Instructions

  1. Heat the oven to 400°F or 204°C. Prepare a baking dish by coating the inside with butter.
  2. Cook macaroni noodles to al dente according to package directions and drain. Set aside.
  3. Cook 2 slices of bacon on the stove top in a medium skillet until crispy. Remove slices to plate lined with paper towels to cool. Reserve 1 tablespoon of bacon fat. Once bacon slices have cooled, crumble them.
  4. Melt 1 tablespoon of butter and mix it with the 1/2 cup breadcrumbs in a small bowl. Add the crumbled bacon and reserved bacon fat. Set aside.
  5. Melt 4 tablespoons of butter in a large saucepan over medium heat. Add 4 tablespoons of flour, 1/2 teaspoon of salt, and 1/4 teaspoon ground black pepper. Whisk until the mixture is blended. It will be thick. Pour in 1/2 cup of milk while stirring. Once the mixture is smooth, add the remaining milk (1/2 cup) and 1 cup of cream, stirring constantly. Bring to a very gently boil and let simmer for 2 minutes while stirring. Reduce heat and continue simmering and stirring for 10 minutes. Add cheddar a little at a time and stir in until cheese melts. Remove from heat.
  6. Add macaroni noodles to the saucepan and toss to coat with the cheese sauce. Transfer macaroni to the prepared baking dish. Sprinkle bacon breadcrumbs over the top. Place into the oven and bake uncovered for 20 minutes. The sauce should be bubbling around the edges and the top should be golden brown. Remove from oven, let cool for 3 minutes, then serve.

Notes

You can use all milk if you don’t want to use cream. You can also use a different type of noodle. Penne works nicely, too, as you can see from my photos.

  • Author: Bobby
  • Prep Time: 10 minutes
  • Cook Time: 35 minutes
  • Category: Dinner
  • Method: Oven-baked
  • Cuisine: American

(function(){
window.addEventListener( ‘message’, function( event ){
if ( ( ‘ !== event.origin && ‘ !== event.origin ) ||
typeof event.data !== ‘string’ ) {
return;
}
var payload = JSON.parse( event.data );
switch ( payload.event ) {
case ‘setHeight’:
var iframe = document.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.style.height = payload.height + ‘px’;
break;
}
} );
}());

Did you make this recipe?

Share a photo and tag @thisisblogchef — we can’t wait to see what you’ve made!

window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/blogchef.net\/wp-admin\/admin-ajax.php”,”ratingNonce”:”e539177926″,”postId”:3299};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
window.addEventListener( ‘click’, e => {
let anchor = e.target;
if ( ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
if ( anchor.tagName === ‘A’ ) {
return;
}

anchor = anchor.closest( ‘a’ );
if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
history.pushState( {}, ”, selector );
}
};

(function( callback ) {
if ( document.readyState !== ‘loading’ ) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.smoothScroll.init();
});

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1)while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2)d2=D+1;else d1=D+1;break}else if(xD){d1=d2;n1=n2}if(!mixed)return[0,n1,d1];var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType=”frac”;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType=”number”;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType=”frac”;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType=”vulgar”;
} else {
roundType=”integer”;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount=””;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount=” ” + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit=””;
let scale=””;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass=”tasty-recipes-convert-button”,
buttonActiveClass=”tasty-recipes-convert-button-active”,
buttons = document.querySelectorAll(‘.tasty-recipes-convert-button’);
if ( ! buttons ) {
return;
}
buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);
var unitType = button.dataset.unitType;
var dataset=”nf” + unitType.charAt(0).toUpperCase() + unitType.slice(1);
var convertables = recipe.querySelectorAll(‘span[data-nf-original]’);
convertables.forEach(function(convertable){
if (typeof convertable.dataset.amountOriginalType === ‘undefined’
&& ‘usc’ === convertable.dataset.nfOriginal) {
if (-1 !== convertable.innerText.indexOf(‘/’)) {
convertable.dataset.amountOriginalType=”frac”;
}
if (-1 !== convertable.innerText.indexOf(‘.’)) {
convertable.dataset.amountOriginalType=”number”;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== convertable.innerText.indexOf(vulgar)) {
convertable.dataset.amountOriginalType=”vulgar”;
}
});
}
convertable.innerText = convertable.dataset[dataset];
if (typeof convertable.dataset.unit !== ‘undefined’) {
convertable.dataset.unit = convertable.dataset[dataset + ‘Unit’];
}
if (typeof convertable.dataset.amount !== ‘undefined’) {
convertable.dataset.amount = convertable.dataset[dataset];
if (‘metric’ === unitType) {
convertable.dataset.amountShouldRound = parseInt(convertable.dataset.amount) >= 10 ? ‘integer’ : ‘number’;
} else if (typeof convertable.dataset.amountOriginalType !== ‘undefined’) {
convertable.dataset.amountShouldRound = convertable.dataset.amountOriginalType;
} else {
convertable.dataset.amountShouldRound = false;
}
convertable.innerText = window.tastyRecipesFormatAmount(convertable.dataset[dataset], convertable);
}
if (convertable.classList.contains(‘nutrifox-unit’)) {
if (‘gram’ === convertable.dataset[dataset]) {
convertable.innerText=”grams”;
}
}
});

document.querySelectorAll(‘.tasty-recipes-scale-button-active’).forEach(function(scaleButton){
scaleButton.click();
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

(function(){
document.querySelectorAll(‘[data-tr-ingredient-checkbox]’).forEach(function(el) {
var input = el.querySelector(‘.tr-ingredient-checkbox-container input[type=”checkbox”]’);
if ( ! input ) {
return;
}
if (input.checked) {
el.dataset.trIngredientCheckbox = ‘checked’;
}
el.addEventListener(‘click’, function(event) {
if ( ‘A’ === event.target.nodeName
|| ‘INPUT’ === event.target.nodeName
|| ‘LABEL’ === event.target.nodeName ) {
return;
}
input.click();
});
input.addEventListener(‘change’, function() {
el.dataset.trIngredientCheckbox = input.checked ? ‘checked’ : ”;
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Close
Your custom text © Copyright 2024. All rights reserved.
Close