A Bourbon Cocktail Recipe For Ringing In The Holiday Season
Ahh, a warming, cold-weather cocktail. Whether you’re whipping one up to celebrate Thanksgiving, Christmas, or just the annual first use of your fireplace, you can’t go wrong with a bourbon cocktail recipe for the holiday season. We love all manner of seasonal drinks, but bourbon is arguably the most beloved seasonal spirit to mix into your boozy bevvie come November and December. This concoction, however, also throws butterscotch into the mix, so it’s officially our go-to bourbon cocktail choice for the season. Keep reading for a Butterscotch Milk Punch bourbon cocktail recipe that will change your holiday drink repertoire forever.
Butterscotch Bourbon Milk Punch
Ingredients
For The Cocktail:
- 4 ounces bourbon
- 1 cup whole milk or cream
- 2 teaspoons powdered sugar
- 1/2 teaspoon vanilla extract
- Ground nutmeg, for garnish
- Vanilla bean, split, for garnish
- Homemade butterscotch syrup, for the rim
For The Homemade Butterscotch Syrup:
- 4 tablespoons unsalted butter
- 1 cup packed brown sugar
- 1/2 teaspoon kosher or pink salt
- 3/4 cup heavy whipping cream
- 2 teaspoons vanilla extract
Directions
To Make The Syrup:
- In a 2 quart sauce pot, melt the butter over medium-low heat. Add in the brown sugar and stir until the brown sugar resembles wet sand. Stir in the half teaspoon of salt.
- Increase the heat to medium and stir occasionally until the mixture is bubbling up, about 3 to 5 minutes.
- Add in the cream, lower the heat slightly, and whisk it all together until it is uniform and any lumps dissolve.
- Keep cooking the syrup for another 5 to 7 minutes until it reaches the temperature of 225 degrees F. Use a digital or candy thermometer, and if you don’t have one, stop simmering after a few minutes to ensure it doesn’t burn..
- Remove the pot from the burner, then add in the vanilla extract. Let the butterscotch syrup cool slightly and adjust the vanilla extract and salt amounts as needed after trying it. It will thicken up as it cools. This makes a large batch, so use it with cocktails, cookies, cakes, and ice cream!
- Once the syrup is cooled completely, store it in a glass jar with a lid and refrigerate it for up to a month.
To Assemble The Cocktail:
- Add bourbon, milk or cream, powdered sugar, and vanilla extract to a large shaker with a few pieces of ice. Shake the ingredients together.
- Dip the rim of each glass into the homemade butterscotch syrup, then add a large ice cube or several smaller ice cubes into the glass, topping with the milk punch. Garnish each drink with a sprinkle of ground nutmeg, and a split vanilla bean. Serve immediately and with cookies!
Love this fall bourbon cocktail recipe? Be sure to subscribe to our newsletter for more recs and inspo!
Recipe and photos by Sarah Anderson.
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
!function(f,b,e,v,n,t,s) if(f.fbq)return;n=f.fbq=function()n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments); if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '377612259624022');
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
window.REBELMOUSE_STDLIB.loadExternalScript("https://s.skimresources.com/js/58005X1352817.skimlinks.js", function()
);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
function Vizible(a) window.innerHeight)) return !1; let d = document.elementFromPoint(c.x, c.y); do if (d === a) return !0; while ((d = d.parentNode)); return !1;
var submenu = document.querySelector(".submenu"); document.querySelectorAll( ".menu_container .list .list__item" ).forEach(function(i) if (!Vizible(i)) submenu.appendChild(i);
);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
//console.log('testing over tooltip'); const bookmarks = document.querySelectorAll('.like-button:not(.tool_tip_added)'); if(bookmarks && bookmarks.length > 0) bookmarks.forEach(a => a.classList.add('tool_tip_added'); const toolTip = document.createElement('div'); toolTip.innerHTML = "
"; toolTip.classList.add('tool-tip'); a.appendChild(toolTip); )
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
document .querySelectorAll(".scroll-post:not(.share-proc)") .forEach(function (item) item.classList.add("share-proc"); if (item.querySelector(".widget__head + .widget__body")) item.querySelector(".widget__head + .widget__body").appendChild( item.querySelector(".widget__shares").cloneNode(true) ); else if(item.querySelector(".widget__body + .widget__body")) item.querySelector(".widget__body + .widget__body").appendChild( item.querySelector(".widget__shares").cloneNode(true) );
);
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function(){
REBELMOUSE_STDLIB.onElementInViewport( threshold: 400, selector: ".sidebar_sticky_parent", oneTime: true, onIntersect: function(entry) var element = entry.target; var jsonVal = JSON.stringify( post_id: currentPostId_s );
var ad_el=element.querySelector(".sidebar_repeat_ad"); ad_el.dataset.targeting = jsonVal; ad_el .classList.add("htlad-Right_Rail_3");
element.insertAdjacentHTML( "afterend", '
' );
); window.REBELMOUSE_STDLIB.onElementInViewport( selector: ".scroll-post .widget", threshold: 50, oneTime: true, onIntersect: function (entry) var element = entry.target; var elId = element.getAttribute('elid'); if (elId) var sidebar_ad_div=document.querySelector(".sidebar_sticky_parent:nth-last-child(2) .stick_in_parent"); sidebar_ad_div.innerHTML=""; var jsonVal = JSON.stringify( post_id: elId ); let ad_div=document.createElement("div"); ad_div.dataset.targeting = jsonVal; ad_div.classList.add('htlad-Right_Rail_3', "advertisement"); sidebar_ad_div.append(ad_div) return;
, );
});
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function(){
window.REBELMOUSE_STDLIB.onElementInViewport( selector: ".tag-sponsored, [data-category='Sponsored']", threshold: 10, oneTime: false, onAboveViewport: function (element) console.log("I am above View port"); if(document.querySelector(".pbs__player") != null) if(window.innerWidth > 768) document.querySelector(".pbs__player").style.display = "block";
, onBellowViewport: function(element) console.log("I am below View port");
, onIntersect: function (entry) console.log("sponsored post in view"); if(document.querySelector(".pbs__player") != null) if(window.innerWidth > 768) document.querySelector(".pbs__player").style.display = "none";
var widget = entry.target; /* var row = widget.closest('.row') if (row != null) var outbrain = row.querySelector('.outbrain-wrap'); /*if (outbrain) outbrain.classList.add("hidden");
*/
);
});
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
//const script = document.createElement("script"); //script.src = "https://player.anyclip.com/anyclip-widget/lre-widget/prod/v1/src/lre.js"; //script.async = true; //script.setAttribute("id", "lre-player-widget"); //script.setAttribute("pubname", "britco"); //script.setAttribute("widgetname", "0011r00001onCeo_1182"); //const holder = document.getElementById("lre-script-holder"); //holder.parentElement.insertBefore(script, holder);
/*const script = document.createElement("script"); script.src = "https://player.anyclip.com/anyclip-widget/lre-widget/prod/v1/src/lre.js"; script.async = true; script.setAttribute("id", "lre-player-widget"); script.setAttribute("pubname", "britco"); script.setAttribute("widgetname", "0011r00001onCeo_1182"); const holder = document.getElementById("lre-script-holder"); holder.parentElement.insertBefore(script, holder);*/
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
function measureElement(entry) var article = entry.target; if(article.offsetHeight) article.style.containIntrinsicSize = article.offsetHeight+"px"; article.classList.add("post-measured");
/*window.REBELMOUSE_STDLIB.onElementInViewport( selector: ".post-splash-custom,.posts-custom", rootMargin: "-100px 0px -100px 0px", onNonIntersect: measureElement, onIntersect: measureElement );*/
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function()
if(document.querySelector(".section-sponsored .first-insticator") != null) document.querySelector(".section-sponsored .first-insticator").style.display = "none";
if(document.querySelector(".section-sponsored .first-ob-module") != null) document.querySelector(".section-sponsored .first-ob-module").style.display = "none";
if(document.querySelector(".section-sponsored .pbs__player") != null) document.querySelector(".section-sponsored .pbs__player").style.display = "none";
);
window.REBELMOUSE_LOWEST_TASKS_QUEUE.push(function(){
REBELMOUSE_STDLIB.createElementChangeListener(".scroll-post", function(el) { console.log("THIS IS THE CORRECT CALL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
setTimeout(function() { var widget = el.querySelector(".widget:not(.processed-insticator):not(.tag-sponsored):not([data-category='Sponsored'])");
console.log(widget);
if (widget && widget.querySelector(".widget__show-more") != null) console.log("keep reading exists"); var krObj = widget.querySelector(".widget__show-more"); krObj.addEventListener('click', function() if (widget.parentElement.parentElement.parentElement != null) widget.classList.add("processed-insticator"); console.log("clicked kr");
if (widget.parentElement.parentElement.parentElement.nextElementSibling.classList.contains("hidden")) widget.parentElement.parentElement.parentElement.nextElementSibling.classList.remove("hidden"); widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.classList.remove("hidden");
else if (widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.classList.contains("hidden")) widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.classList.remove("hidden"); widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.classList.remove("hidden"); else if (widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.classList.contains("hidden"))
widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.classList.remove("hidden"); widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.classList.remove("hidden");
); //click listner ends /*widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.remove();*/ else
console.log(widget.parentElement.parentElement.parentElement.nextElementSibling);
if (widget.parentElement.parentElement.parentElement != null) widget.classList.add("processed-insticator"); widget.parentElement.parentElement.parentElement.nextElementSibling.classList.remove("hidden"); widget.parentElement.parentElement.parentElement.nextElementSibling.nextElementSibling.classList.remove("hidden");
}, 1000);
});
});