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 slightly drama.

Want a formidable drink with a spooky twist? Strive the Vampire’s Kiss cocktail! This blood crimson drink is solely a berry-flavored vodka martini that’s masquerading as a sinister Halloween cocktail.
As somebody who’s made a whole bunch of cocktail recipes, I’m usually dissatisfied by Halloween drinks which can 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 can too 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 shiny crimson cocktail made with vodka and raspberry liqueur. It usually contains 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 a substitute!). Right here’s what you’ll want:
- Vodka
- Chambord, a preferred raspberry liqueur
- 100% cranberry juice: be sure to purchase unsweetened, not cranberry juice cocktail!
- Lemon juice
- Grenadine, a pomegranate-flavored crimson cocktail syrup
- Dry ice, elective (learn all the security data beneath first!)
You’ll merely shake up the elements, pressure it right into a cocktail glass, and garnish with a bit of dry ice! The way in which that the dry ice makes the smoke wisp into the air is the finest get together trick.

Ingredient highlight: Chambord
Chambord is a French black raspberry liqueur with a stupendous gold and purple spherical bottle that makes you’re feeling like an expert bartender. It brings a complicated berry taste that cheaper raspberry liqueurs simply can’t match.
Regardless of the flamboyant historic trying 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 delicate Chambord and Champagne.
What does Chambord really style like? The flavour is very concentrated raspberries with refined citrus notes and simply sufficient sweetness to steadiness the tartness.

Grenadine: storebought vs do-it-yourself
If you happen to’re an avid house bartender, you’re already stocking grenadine in your assortment. This cocktail syrup is commonly mistaken as cherry-flavored, but it surely’s really made with pomegranate!
Most bought grenadine is artificially coloured and flavored, which makes the brightest shade. However you may also make your individual at house. Strive our Home made Grenadine recipe created from pomegranate seeds!
Security suggestions 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 suggestions (or learn extra in my Dry Ice Dealing with article):
- DO NOT contact dry ice with naked fingers. Dry ice is the strong type of carbon dioxide, which varieties at temperatures beneath 110°F. It can provide 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 company 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 sure to not let it slide to the highest of the glass.
Working with dry ice
The place do you discover dry ice, and methods to deal with it when you’ve obtained it at house? Listed here are a couple of suggestions for make the Vampire’s Kiss:
- Purchase dry ice 1 to 2 hours earlier than serving. Most grocery shops promote it in giant 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 couple of instances to interrupt it into giant chunks, then use a screwdriver or ice decide 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 suggestions
Are you able to prep the Vampire’s Kiss forward? Sure and no. I don’t advocate making the complete cocktail greater than 8 hours prematurely, because the contemporary lemon juice loses its shiny taste over time. Nevertheless, 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.
Continuously requested questions
Whereas Chambord actually makes this drink particular, you possibly can substitute one other raspberry liqueur in a pinch. The flavour and shade is likely to be barely completely different, but it surely’ll nonetheless work. Crème de cassis (blackcurrant liqueur) is another choice, although it offers you a barely completely different berry taste profile.
Sure, when dealt with correctly. Use gloves and tongs, by no means contact it with naked fingers, and anticipate the ice to utterly dissolve earlier than ingesting. The ice sinks to the underside and usually 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.
In fact! 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 subtle 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 excellent for events.
- Prep Time: 10 minutes
- Prepare dinner Time: 0 minutes
- Whole Time: 10 minutes
- Yield: 1 drink
- Class: Drink
- Technique: Shaken
- Delicacies: Cocktails
- Weight loss program: Vegan
Substances
- 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 your 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 potential, although you should purchase the dry ice a couple of hours prematurely. Begin by dropping the plastic bag with the dry ice on the bottom a number of instances to permit it break into giant chunks. Keep in mind by no means to the touch the dry ice together with your naked fingers! Placed on goggles and gloves. Use a chisel to interrupt the dry ice into smaller items utilizing a screwdriver or ice decide. The perfect measurement is 1/2-inch to 1-inch chunks which can be giant 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 on the market at many grocery shops and is available in a big block. Purchase it a couple 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.incorporates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const component = doc.querySelector( selector );
if ( ! component ) {
return;
}
component.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.model.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() {
attempt {
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 = {
component: null,
tooltipElement: null,
deleting: false,
init( component ) {
if ( this.deleting ) {
return;
}
this.component = component;
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.component.getBoundingClientRect().prime
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().peak;
const tooltipLeft = this.component.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.component.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘model’, ‘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, knowledge, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.ship( this.preparePostData( knowledge ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.standing === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( knowledge ) {
const formData = new FormData();
for ( const key in knowledge ) {
formData.append( key, knowledge[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.score;
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 component is a score star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.incorporates( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( score ) {
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( score ) {
if ( score < this.minRating ) {
doc.physique.classList.take away( 'tasty-recipes-selected-minimum-rating' );
return;
}
doc.physique.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( score ) {
const commentTextarea = doc.getElementById( 'remark' );
if ( ! commentTextarea ) {
return;
}
if ( score {
window.TastyRecipes.staticTooltip.changeMessage( response.knowledge.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.knowledge, recipeCardElement );
this.maybeFillCommentForm( response.knowledge );
// Disguise the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.knowledge, score );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( knowledge, recipeCardElement ) {
if ( ! knowledge.common ) {
return;
}
this.setRatingPercent( knowledge );
if ( ! knowledge.rely ) {
return;
}
const quickLink = doc.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, knowledge );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = knowledge.common;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), knowledge );
},
setTextInContainer( container, knowledge ) {
if ( ! container ) {
return;
}
if ( knowledge.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = knowledge.label;
}
return;
}
const averageElement = container.querySelector( ‘.common’ );
if ( averageElement ) {
averageElement.textContent = knowledge.common;
}
const countElement = container.querySelector( ‘.rely’ );
if ( countElement ) {
countElement.textContent = knowledge.rely;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( knowledge ) {
this.defaultRating = knowledge.common.toFixed( 1 );
const elements = knowledge.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( knowledge ) {
if ( ! knowledge.remark || ! knowledge.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 = knowledge.remark.content material;
if ( knowledge.remark.identify ) {
commentForm.querySelector( ‘[name=author]’ ).worth = knowledge.remark.identify;
commentForm.querySelector( ‘[name=email]’ ).worth = knowledge.remark.electronic mail;
}
},
maybeResetTooltip( recipeCardElement, knowledge, score ) {
if ( this.savingRating === score ) {
this.resetTooltip( recipeCardElement, knowledge );
}
},
resetTooltip( recipeCardElement, knowledge ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default score.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( knowledge && knowledge.common ) ? knowledge.common.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, knowledge );
}
},
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.contains( ‘flex’ ) ) {
ratingsButtons.model.path = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Choose the score 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 attempt
Need extra drinks with a Halloween theme? We’ve obtained them! Listed here are a couple of prime Halloween cocktails to attempt:
- Strive the Witches Brew, a tasty shiny inexperienced drink (additionally with dry ice!)
- Make a giant bowl of Halloween Punch (and spike it!)
- Strive a Halloween Margarita or Halloween Sangria
- Channel wizards and witches with Butterbeer