The Vampire’s Kiss cocktail is a blood-red vodka martini with a sweet-tart berry taste! It’s excellent for Halloween events and any event that requires somewhat drama.

Want a formidable drink with a spooky twist? Attempt the Vampire’s Kiss cocktail! This blood crimson drink is just a berry-flavored vodka martini that’s masquerading as a sinister Halloween cocktail.
As somebody who’s made a whole lot of cocktail recipes, I’m typically dissatisfied by Halloween drinks which might be too candy or synthetic. However this one has a delightfully candy tart taste with a fruity berry end! If you happen to’d like, add a dice of dry ice. It bubbles and boils with a stream of smoke, which makes this drink over-the-top enjoyable!
You too can make the identical drink as a Valentine’s Day cocktail and name it Love Potion No. 9!
Key elements for the Vampire’s Kiss cocktail
The Vampire’s Kiss cocktail is a vibrant crimson cocktail made with vodka and raspberry liqueur. It typically consists of champagne, however there’s no standardized definition to this drink. My model of this recipe passes on the champagne in favor of contemporary lemon juice and cranberry juice (so it can save you that bubbly for champagne drinks as an alternative!). Right here’s what you’ll want:
- Vodka
- Chambord, a preferred raspberry liqueur
- 100% cranberry juice: be certain to purchase unsweetened, not cranberry juice cocktail!
- Lemon juice
- Grenadine, a pomegranate-flavored crimson cocktail syrup
- Dry ice, elective (learn all the protection info beneath first!)
You’ll merely shake up the elements, pressure it right into a cocktail glass, and garnish with a piece of dry ice! The way in which that the dry ice makes the smoke wisp into the air is the finest celebration trick.

Ingredient highlight: Chambord
Chambord is a French black raspberry liqueur with a good looking gold and purple spherical bottle that makes you are feeling like knowledgeable bartender. It brings a complicated berry taste that cheaper raspberry liqueurs simply can’t match.
Regardless of the flowery historic wanting bottle, the model began within the 1980’s! However it’s impressed by a raspberry liqueur recipe from the 1680’s. At round $20 for a small bottle, it’s an funding, but it surely’s a worthwhile one. Past this drink, I take advantage of it in French Martinis and the subtle Chambord and Champagne.
What does Chambord truly style like? The flavour is very concentrated raspberries with refined citrus notes and simply sufficient sweetness to steadiness the tartness.

Grenadine: storebought vs home made
If you happen to’re an avid dwelling bartender, you’re already stocking grenadine in your assortment. This cocktail syrup is usually mistaken as cherry-flavored, but it surely’s truly made with pomegranate!
Most bought grenadine is artificially coloured and flavored, which makes the brightest coloration. However you may as well make your individual at dwelling. Attempt our Do-it-yourself Grenadine recipe constructed from pomegranate seeds!
Security ideas for dry ice
Dry ice isn’t required for the Vampire’s Kiss cocktail: but it surely does make it much more enjoyable! Dry ice will be intimidating the primary time, but it surely’s quite simple. Simply have in mind the next security ideas (or learn extra in my Dry Ice Dealing with article):
- DO NOT contact dry ice with naked arms. Dry ice is the strong type of carbon dioxide, which varieties at temperatures beneath 110°F. It may give you frostbite as a result of it’s so chilly. Use gloves when dealing with it, and use tongs for dropping it into drinks. Holding it for greater than 10 seconds is taken into account very harmful.
- DO NOT drink dry ice. Inform your friends to not drink the dry ice! The ice dice settles to the underside of the drink and will disappear in about 5 minutes. You’ll be able to technically take sips of the drink because the dry ice is within the backside: simply be certain to not let it slide to the highest of the glass.
Working with dry ice
The place do you discover dry ice, and the way to deal with it when you’ve received it at dwelling? Listed below are a number of ideas for make the Vampire’s Kiss:
- Purchase dry ice 1 to 2 hours earlier than serving. Most grocery shops promote it in massive blocks (right here’s a retailer finder.). Retailer in a cooler with the highest off.
- Utilizing security googles and gloves, drop the sealed bag on the bottom a number of instances to interrupt it into massive chunks, then use a screwdriver or ice choose to interrupt it into ½-inch to 1-inch items. Retailer the chunks wrapped in a towel in a cooler with the lid off: by no means in your freezer.

Storage and make-ahead ideas
Are you able to prep the Vampire’s Kiss forward? Sure and no. I don’t suggest making the complete cocktail greater than 8 hours upfront, because the contemporary lemon juice loses its vibrant taste over time. Nonetheless, you possibly can prep a number of parts:
- Combine your dry elements (sugar for the rim) and retailer in an hermetic container
- Pre-rim your glasses and allow them to dry utterly
- Measure and mix a big batch of vodka, Chambord, and grenadine in a container; retailer within the fridge till able to shake
- Add the cranberry and lemon juice proper earlier than serving for optimum taste.
Ceaselessly requested questions
Whereas Chambord actually makes this drink particular, you possibly can substitute one other raspberry liqueur in a pinch. The flavour and coloration could be barely totally different, but it surely’ll nonetheless work. Crème de cassis (blackcurrant liqueur) is another choice, although it gives you a barely totally different berry taste profile.
Sure, when dealt with correctly. Use gloves and tongs, by no means contact it with naked arms, and anticipate the ice to utterly dissolve earlier than consuming. The ice sinks to the underside and sometimes disappears inside 5 minutes. You’ll be able to take sips whereas the dry ice remains to be current: simply watch out to not let the dice slide towards your mouth.
After all! The sugar rim provides a festive contact and gives a pleasant textural distinction, but it surely’s completely elective. I typically skip it once I desire a cleaner, extra refined presentation.
Vampire’s Kiss Cocktail
The Vampire’s Kiss cocktail is a blood crimson vodka martini with a spooky twist! It’s deliciously spectacular and ideal for events.
- Prep Time: 10 minutes
- Cook dinner Time: 0 minutes
- Whole Time: 10 minutes
- Yield: 1 drink
- Class: Drink
- Methodology: Shaken
- Delicacies: Cocktails
- Weight-reduction plan: Vegan
Components
- 1 ½ ounces vodka
- 1 ounce* Chambord
- ½ ounce 100% unsweetened cranberry juice (not sweetened or cranberry juice cocktail)
- ½ ounce contemporary lemon juice
- ½ ounce grenadine
- Granulated sugar and extra grenadine, for the sugar rim (elective)
- 1 small dry ice dice, elective
Directions
- Put together the rim: Place granulated sugar in a single layer on one plate. On one other plate, add some grenadine. Spin the rim of the glass within the grenadine till it coats the complete rim. Then dip the glass rim into the plate with the sugar to coat it.
- Make the drink: Add the vodka, Chambord, unsweetened cranberry juice, lemon juice, and grenadine to a cocktail shaker. Add 2 handfuls common ice cubes and shake till chilly. Pressure the drink into the ready glass.
- Break the dry ice into 1-inch chunks (if utilizing): Do that as near the time you’ll be serving the drinks as attainable, although you should buy the dry ice a number of hours upfront. Begin by dropping the plastic bag with the dry ice on the bottom a number of instances to permit it break into massive chunks. Keep in mind by no means to the touch the dry ice along with your naked arms! Placed on goggles and gloves. Use a chisel to interrupt the dry ice into smaller items utilizing a screwdriver or ice choose. The best dimension is 1/2-inch to 1-inch chunks which might be massive sufficient to sink to the underside of the drink, however sufficiently small to vanish in a couple of minutes. Wrap the small chunks in a towel and place them in a cooler with the highest off till you’re able to serve the drinks. Don’t place the dry ice within the freezer.
- Add the dry ice: Utilizing tongs (don’t contact the dry ice!), add a 1/2-inch to 1-inch chunk of dry ice to the glass, which is able to sink to the underside and instantly make a smoking impact. The ice dice will disappear in about 5 minutes. Don’t drink the dry ice! Wait till the dice disappears earlier than having fun with your drink (or you possibly can take sips with the dry ice within the backside). Evaluation these Dry Ice Dealing with directions.
Notes
*To transform to tablespoons, 1 ounce = 2 tablespoons
**Dry ice is out there at many grocery shops and is available in a big block. Purchase it a number of hours earlier than you intend to serve the drinks (it doesn’t retailer within the freezer). Learn extra about Dry Ice Security right here.
window.trCommon={“minRating”:6,”ajaxurl”:”https://www.acouplecooks.com/wp-admin/admin-ajax.php”,”ratingNonce”:””,”postId”:108571};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
doc.addEventListener( ‘click on’, ( e ) => {
let anchor = e.goal;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}
if ( ! anchor || ! anchor.classList.accommodates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const ingredient = doc.querySelector( selector );
if ( ! ingredient ) {
return;
}
ingredient.scrollIntoView( { habits: ‘clean’ } );
}
};
doc.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);
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 = doc.querySelectorAll(this.cookModeSelector);
if (cookModes.size > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘enter[type=”checkbox”]’).addEventListener(“change”, occasion => {
this.checkboxChange(occasion.goal);
}, false);
} else {
cookMode.type.show = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = doc.querySelectorAll(this.cookModeSelector + ‘ enter[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
strive {
this.wakeLock = await this.wakeLockApi.request(“display screen”);
this.wakeLock.addEventListener(“launch”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.launch();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(operate(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
doc.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
ingredient: null,
tooltipElement: null,
deleting: false,
init( ingredient ) {
if ( this.deleting ) {
return;
}
this.ingredient = ingredient;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.take away( ‘opened’ );
setTimeout( () => {
this.tooltipElement.take away();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = doc.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
doc.physique.replaceChild( tooltipElement, currentTooltipElement );
} else {
doc.physique.appendChild( tooltipElement );
}
this.tooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
},
present() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.ingredient.getBoundingClientRect().prime
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().peak;
const tooltipLeft = this.ingredient.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.ingredient.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘type’, ‘prime:’ + 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.take away( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, information, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.ship( this.preparePostData( information ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.standing === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( information ) {
const formData = new FormData();
for ( const key in information ) {
formData.append( key, information[key] );
}
return formData;
},
};
window.TastyRecipes.rankings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const rankings = doc.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( rankings.size {
occasion.preventDefault();
this.defaultRating = occasion.goal.closest( ‘.checked’ ).dataset.ranking;
this.setCheckedStar( occasion.goal );
this.maybeSendRating( this.defaultRating, occasion.goal );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click on’, e => {
// Bailout (do not take away the tooltip) when the clicked ingredient is a ranking star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.accommodates( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( ranking ) {
const ratingInput = doc.querySelector( ‘#reply .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click on();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = doc.querySelectorAll( ‘enter.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click on’, currentEvent => {
const selectedRating = currentEvent.goal.getAttribute( ‘worth’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( ranking ) {
if ( ranking < this.minRating ) {
doc.physique.classList.take away( 'tasty-recipes-selected-minimum-rating' );
return;
}
doc.physique.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( ranking ) {
const commentTextarea = doc.getElementById( 'remark' );
if ( ! commentTextarea ) {
return;
}
if ( ranking {
window.TastyRecipes.staticTooltip.changeMessage( response.information.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.information, recipeCardElement );
this.maybeFillCommentForm( response.information );
// Cover the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.information, ranking );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( information, recipeCardElement ) {
if ( ! information.common ) {
return;
}
this.setRatingPercent( information );
if ( ! information.depend ) {
return;
}
const quickLink = doc.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, information );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = information.common;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), information );
},
setTextInContainer( container, information ) {
if ( ! container ) {
return;
}
if ( information.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = information.label;
}
return;
}
const averageElement = container.querySelector( ‘.common’ );
if ( averageElement ) {
averageElement.textContent = information.common;
}
const countElement = container.querySelector( ‘.depend’ );
if ( countElement ) {
countElement.textContent = information.depend;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( information ) {
this.defaultRating = information.common.toFixed( 1 );
const elements = information.common.toFixed( 2 ).toString().cut up( ‘.’ );
this.currentRatingPercentage = elements[1] ? elements[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( goal ) {
const cardRatingContainer = goal.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = goal.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( information ) {
if ( ! information.remark || ! information.remark.content material ) {
return;
}
const commentForm = doc.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.worth ) {
return;
}
// Add remark particulars for modifying.
commentBox.innerHTML = information.remark.content material;
if ( information.remark.identify ) {
commentForm.querySelector( ‘[name=author]’ ).worth = information.remark.identify;
commentForm.querySelector( ‘[name=email]’ ).worth = information.remark.e-mail;
}
},
maybeResetTooltip( recipeCardElement, information, ranking ) {
if ( this.savingRating === ranking ) {
this.resetTooltip( recipeCardElement, information );
}
},
resetTooltip( recipeCardElement, information ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default ranking.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( information && information.common ) ? information.common.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, information );
}
},
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 = doc.querySelector( ‘#reply .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.show.consists of( ‘flex’ ) ) {
ratingsButtons.type.route = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Choose the ranking that was beforehand chosen 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 on’, occasion => {
if ( ratingSpan === occasion.goal ) {
return;
}
ratingSpan.previousElementSibling.click on();
} );
}
}
};
(operate(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.rankings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Different Halloween drinks to strive
Need extra drinks with a Halloween theme? We’ve received them! Listed below are a number of prime Halloween cocktails to strive:
- Attempt the Witches Brew, a tasty vibrant inexperienced drink (additionally with dry ice!)
- Make a giant bowl of Halloween Punch (and spike it!)
- Attempt a Halloween Margarita or Halloween Sangria
- Channel wizards and witches with Butterbeer