November 14, 2019
A Saltier, Snackier Cookie
Article2-Anchovy-Scallion-Cookies-Savory-Shortbread-Recipe

Permission to put blue cheese, chives, and even anchovies in your shortbread.

Before cookies were sweet, they were savory. Anna Harrington, founder of The Rounds, a Brooklyn-based mail-order baking outfit that specializes in mostly savory cookies, stumbled on this fact while in Holland a few years ago. There, she visited friends’ homes and always found a plate of kaaskoekjes—flaky, salty, and umami-rich cheese cookies—on the table. “The kids would eat them, and the adults would snack on them with a glass of wine. It was the easiest kind of entertaining,” says Harrington.

Cookies laden with cheese have long been popular throughout Europe, from Hungarian pogácsa to British cheese biscuits, but when crossing the Atlantic, something got lost in translation. Flaky Southern biscuits borrowed the British term for “cookies,” and the American appetite for sugar buoyed the chocolate chip’s ascent. Though cheese crackers are ubiquitous in the form of Cheez-Its and Goldfish, even when it says “real cheese” on the package, their flavor often falls short. “American cheese crackers don’t taste like actual cheese,” Harrington notes. Or they’re so dry that they need a spread or a dip, while good savory cookies need no accompaniment. “Like a sweet cookie, a savory cookie is a self-contained unit,” Harrington says.

Harrington, who is half Swedish, was in the middle of a career shift in 2016—out of fashion and into food—when she realized that savory cookies were her calling. “They speak to my heritage and my love of entertaining, which I believe should be casual but elegant,” she says. Today, she sells six types of savory cookies (as well as one sweet cookie) online and ships nationally.

Each flavor—cheddar chive, gruyére date, parmesan olive, anchovy scallion, apricot pistachio fennel, and salami rosemary idiazabal—is familiar but complex, and they pair well with everything from pu’er to pét-nat. And as the business’s name suggests, they’re all cut into tidy rounds, a nod to Harrington’s attraction to a minimalist aesthetic. “I make each order fresh, so the idea is that you can have some in your freezer, and if friends drop by, or if you decide to have neighbors over at the last minute, you can pull a box out.”

Shilpa Uskokovic, a former pastry chef and avid home cook based in Jackson Heights, New York, remembers the moment she saw savory cookies in the canonical entertaining text Martha Stewart’s Hors d’Oeuvres Handbook. “Past photos of multilayered tea sandwiches and snap peas decorated with cream cheese ribbons, there was a page of savory shortbread,” Uskokovic explains. “Blue cheese–pecan. Cheddar-cornmeal. At first, my mind was a little blown,” she says, “but then I remembered jeera biscuits, savory cookies made with toasted cumin or caraway seeds, which are a popular Indian snack.”

Though she’s best known for her tart-like jammers and uber-chocolaty world peace cookies, Dorie Greenspan, America’s foremost cookie aficionado, has long made savory cookies, too. A whole chapter of Dorie’s Cookies is dedicated to “cocktail cookies” and includes recipes for Old Bay pretzel-and-cheese cookies, garam grahams, honey–blue cheese madeleines, fennel-orange shortbread, and hot-and-spicy togarashi meringues.

“The idea of savory cookies came naturally to me, because I’ve always loved savory flavors,” Greenspan says. “The real work was finding a way to make something that would be recognized as a cookie but understood as something to be enjoyed with wine.” Greenspan spent a lot of time tweaking her savory cookie recipes. “It was important to figure out just how much sugar was needed—if any—and to determine just how much of a strong ingredient was just right…. Use too much of an herb like rosemary or lavender, and you risk having your cookie taste like medicine,” she notes.

At Breads Bakery in Manhattan, sesame-crusted Parmesan rounds with pockets of salty cheese—called “parmesan cookies” on the box—have been on the menu since the shop opened in 2013, and they’ve only grown in popularity. “The key is a lot of cracked black pepper, and lots and lots of cheese,” says baker Edan Leshnick. “We sell around 3,000 per week,” says owner Gadi Peleg, who adds that they’re a popular catering order for cocktail parties. Peleg’s team sometimes adds a swipe of goat cheese and a sprinkle of chives to dress them up as passed hors d’oeuvres.

Dressed up or not, cheese cookies, with their savory, nutty cheeses and flaky textures, make an ideal foil for martinis, Merlot, or Moroccan mint tea. Casual enough for a weeknight apéro hour, and elegant enough to serve at a black-tie cocktail fete, cheese cookies can be thought of as Goldfish crackers that have leveled way up.

RECIPE: Anchovy-Scallion Cookies

Daniela Galarza

Daniela Galarza is a writer and reporter who covers food, restaurants, cooking, and culture. She used to be a pastry chef. These days she puts her culinary degree to use by making birthday cakes for friends. She lives in New York with her dog Frito.

[email_signup id="3"]
<div class="email-subscribe exp-subscribe subscribe"> <div class="alert alert-success exp-success ga-etembed-success" style="display:none;"> Great! You've signed up successfully! </div> <div class="alert alert-danger exp-error" style="display:none;"> We are experiencing an error, please try again. </div> <form name="subscribe" id="email-signup" class="email-signup-form" action="https://tastecooking.com/wp-admin/admin-ajax.php" method="POST" target="_top" data-event-assigned="false"> <fieldset class="form-group form-inline email-submit-group"> <label for="email-address" class="sr-only">Email Address</label> <input id="email-newsletter" type="email" placeholder="your@email.com" class="email-newsletter text email form-control" name="email" value=""> <button type="submit" value="Subscribe" name="subscribe" class="btn btn-primary email-submit-btn ga-etembed-success"> <i class="fa fa-envelope"></i> Subscribe </button> </fieldset> <small class="exp-small terms" style=""> By clicking Subscribe, I acknowledge that I have read and agree to the Penguin Random House <a href="http://www.penguinrandomhouse.com/privacy/" target="_blank">Privacy Policy</a> and <a href="http://www.penguinrandomhouse.com/terms/" target="_blank">Terms of Use</a> and agree to receive news and updates from TASTE and Penguin Random House. </small> <fieldset class="field-group checkboxes" style="display:none"> <div class="checkbox"> <label> <input type="checkbox" name="programs[]" value="505,50501,1" class="exp-checkbox" checked="checked"> <span><strong>Tastebook General</strong></span> </label> </div> <div class="checkbox"> <label> <input type="checkbox" name="programs[]" value="505,50502,1" class="exp-checkbox" checked="checked"> <span><strong>Tastebook Promo</strong></span> </label> </div> </fieldset><!-- /.checkboxes --> <input type="hidden" name="data_acq_code" value="TASTE_POPUP_STATIC_ONGOING" /> <input type="hidden" name="data_programs" value="50501|505,50502|505" /> <input type="hidden" name="form_id" value="3" /> <input type="hidden" name="partner" value="" /> <input type="hidden" name="action" value="crown_email_signup_submit" /> <input type="hidden" name="ref_url" value="" /> </form> </div> <script> jQuery(document).ready(function () { var unassigned_forms; setInterval( function() { //Check for unassigned forms var forms = jQuery( '.email-signup-form' ); unassigned_forms = false; forms.each( function( index ) { if ( jQuery( this ).attr( 'data-event-assigned' ) === 'false' ) { unassigned_forms = true; } }); if ( unassigned_forms ) { forms.off( 'submit' ).on( 'submit', function ( e ) { forms.attr( 'data-event-assigned', 'true' ); e.preventDefault(); // Basic email validation var email = jQuery(e.target).find('.email-newsletter').val(), valid_email = false, groupEl = jQuery(e.target).closest('.email-subscribe'); if ( !!email && typeof(email) === "string" ) { var email_array = email.split('@'); if ( email_array.length === 2 ) { if ( email_array[1].split('.').length > 1 ) { valid_email = true; } } } if ( valid_email ) { jQuery('.alert-danger').hide(); // Show loading gif groupEl.find('.email-signup-form').hide(); groupEl.find('.email-submit-loading').show(); // Populate ref_url jQuery(this).find('input[name="ref_url"]').val(window.location.href); // Generate Payload var payload = jQuery(this).serializeArray(); jQuery.ajax({ url: jQuery(this).attr('action'), type: 'POST', data: payload, success: function (data) { // Hide loading spinner groupEl.find('.email-signup-form').show(); groupEl.find('.email-submit-loading').hide(); // Display success msg var target = jQuery(e.target); jQuery(e.target).hide(); jQuery(e.target).parent().find('.alert-success').show(); jQuery(e.target).parent().find('#downloadbtn').show(); }, fail: function (err) { // Hide loading spinner groupEl.find('.email-signup-form').show(); groupEl.find('.email-submit-loading').hide(); // Display failure msg var target = jQuery(e.target); jQuery(e.target).hide(); jQuery(e.target).parent().find('.alert-danger').show(); } }); } else { groupEl.find('.alert-danger').html('Please enter a valid email address.').show(); } }); forms.off( 'keypress' ).on( 'keypress', function ( e ) { if ( e.which === 13 ) { e.preventDefault(); jQuery( this ).submit(); } }); } }, 100); }); </script>
[email_signup id="3"]
<div class="email-subscribe exp-subscribe subscribe"> <div class="alert alert-success exp-success ga-etembed-success" style="display:none;"> Great! You've signed up successfully! </div> <div class="alert alert-danger exp-error" style="display:none;"> We are experiencing an error, please try again. </div> <form name="subscribe" id="email-signup" class="email-signup-form" action="https://tastecooking.com/wp-admin/admin-ajax.php" method="POST" target="_top" data-event-assigned="false"> <fieldset class="form-group form-inline email-submit-group"> <label for="email-address" class="sr-only">Email Address</label> <input id="email-newsletter" type="email" placeholder="your@email.com" class="email-newsletter text email form-control" name="email" value=""> <button type="submit" value="Subscribe" name="subscribe" class="btn btn-primary email-submit-btn ga-etembed-success"> <i class="fa fa-envelope"></i> Subscribe </button> </fieldset> <small class="exp-small terms" style=""> By clicking Subscribe, I acknowledge that I have read and agree to the Penguin Random House <a href="http://www.penguinrandomhouse.com/privacy/" target="_blank">Privacy Policy</a> and <a href="http://www.penguinrandomhouse.com/terms/" target="_blank">Terms of Use</a> and agree to receive news and updates from TASTE and Penguin Random House. </small> <fieldset class="field-group checkboxes" style="display:none"> <div class="checkbox"> <label> <input type="checkbox" name="programs[]" value="505,50501,1" class="exp-checkbox" checked="checked"> <span><strong>Tastebook General</strong></span> </label> </div> <div class="checkbox"> <label> <input type="checkbox" name="programs[]" value="505,50502,1" class="exp-checkbox" checked="checked"> <span><strong>Tastebook Promo</strong></span> </label> </div> </fieldset><!-- /.checkboxes --> <input type="hidden" name="data_acq_code" value="TASTE_POPUP_STATIC_ONGOING" /> <input type="hidden" name="data_programs" value="50501|505,50502|505" /> <input type="hidden" name="form_id" value="3" /> <input type="hidden" name="partner" value="" /> <input type="hidden" name="action" value="crown_email_signup_submit" /> <input type="hidden" name="ref_url" value="" /> </form> </div> <script> jQuery(document).ready(function () { var unassigned_forms; setInterval( function() { //Check for unassigned forms var forms = jQuery( '.email-signup-form' ); unassigned_forms = false; forms.each( function( index ) { if ( jQuery( this ).attr( 'data-event-assigned' ) === 'false' ) { unassigned_forms = true; } }); if ( unassigned_forms ) { forms.off( 'submit' ).on( 'submit', function ( e ) { forms.attr( 'data-event-assigned', 'true' ); e.preventDefault(); // Basic email validation var email = jQuery(e.target).find('.email-newsletter').val(), valid_email = false, groupEl = jQuery(e.target).closest('.email-subscribe'); if ( !!email && typeof(email) === "string" ) { var email_array = email.split('@'); if ( email_array.length === 2 ) { if ( email_array[1].split('.').length > 1 ) { valid_email = true; } } } if ( valid_email ) { jQuery('.alert-danger').hide(); // Show loading gif groupEl.find('.email-signup-form').hide(); groupEl.find('.email-submit-loading').show(); // Populate ref_url jQuery(this).find('input[name="ref_url"]').val(window.location.href); // Generate Payload var payload = jQuery(this).serializeArray(); jQuery.ajax({ url: jQuery(this).attr('action'), type: 'POST', data: payload, success: function (data) { // Hide loading spinner groupEl.find('.email-signup-form').show(); groupEl.find('.email-submit-loading').hide(); // Display success msg var target = jQuery(e.target); jQuery(e.target).hide(); jQuery(e.target).parent().find('.alert-success').show(); jQuery(e.target).parent().find('#downloadbtn').show(); }, fail: function (err) { // Hide loading spinner groupEl.find('.email-signup-form').show(); groupEl.find('.email-submit-loading').hide(); // Display failure msg var target = jQuery(e.target); jQuery(e.target).hide(); jQuery(e.target).parent().find('.alert-danger').show(); } }); } else { groupEl.find('.alert-danger').html('Please enter a valid email address.').show(); } }); forms.off( 'keypress' ).on( 'keypress', function ( e ) { if ( e.which === 13 ) { e.preventDefault(); jQuery( this ).submit(); } }); } }, 100); }); </script>