June 28, 2019
You Will Instagram This: Kachka’s Herring Under a Fur Coat
Article-kachka-herring-under-a-fur-coat

The Soviet classic of pickled herring and mayo, reimagined for the ’gram.

It looks like a child’s birthday cake, but frosted with mayonnaise instead of buttercream, and it smells like a bucket of pickled herring. But a bite of it is enough to convert even the most staunchly herring-phobic diners. The chunks of oily fish are tempered with soft shreds of sweet carrot, beet, and boiled potato, and it’s all threaded through with grassy dill. It’s even better scooped onto a freshly made silver dollar–sized blini.

The dish, herring under a fur coat, is one of the most famous that chef and owner Bonnie Morales serves at her restaurant Kachka, in Portland, Oregon, and it’s also one of the most photographed dishes in Portland. The restaurant’s Instagram geotag is a rainbow of hundreds of these little white, yellow, and magenta towers—a layered salad with origins in Soviet-era Latvia, Belarus, Russia, Estonia, and other parts of the USSR. Couples on celebratory dates smile giddily behind the salad. Cohorts of friends raise tiny glasses of cold vodka above the salad. Shallow bowls of uniform hexagonal meat dumplings called pelmeni flank the salad.

During the time of the Soviet Union, herring under a fur coat proliferated across the bloc. “It was a dish—it still is a dish—that you see everywhere,” says Morales, who admits that she was a bit hesitant to put it on the menu. Growing up, and eating it regularly, she never really thought of herring under a fur coat as an attractive food. “It’s something that people put on the table at home, and it’s something that you can buy by the kilo at the deli, and it’s something that you see at the cafeteria. It’s just everywhere.”

Some homemade Eastern European versions of the salad are constructed in bowls and then unmolded or built in glass dishes for visible layers. Some versions are made to look like actual herrings in fur coats, with only the tails and heads poking out. But Morales tells me that the versions served in delis and cafeterias tend to take the form of heaping, homogenous mixtures made ahead of time and scooped from casserole dishes. In other words, they’re not always pretty.

In 2019 Portland, this was not going to fly—especially for a chef with a background in design. The version served at the restaurant (and that was published in the restaurant’s 2017 cookbook, Kachka: A Return to Russian Cooking) is layered meticulously in a ring mold. And, more important, each one of the $9 dishes leaving the kitchen is made to order. “If we make one accidentally and it doesn’t get sold within five minutes or so, it’s done. We don’t use it,” says Morales.

With the help of the cookbook, and a $12.99 adjustable ring mold, I made one for a dinner party a few months ago. Breaking Morales’s rule, I made mine a few hours beforehand and let it sit in the refrigerator while I steamed pelmeni and pickled eggs. Predictably, it was greeted with a combination of shock, horror, swiping open iPhone cameras, and trepidation about the strong fish smells. But once everyone had taken their first tentative bite, the salad disappeared quickly.

On the subject of converting herring haters, Morales is modestly optimistic about her own power. “We’re not magicians. There are people once in a while who get it and then say, ‘That wasn’t for me.’ But we do have a surprising number of people that get it and say, ‘Oh my god, I did not think I was going to like that, and I’m just craving it now,’ which is really cool.” For those of us who already love herring, dressing it up in a fur coat can’t hurt.

Recipe: Herring Under a Fur Coat

Photos, via Instagram: @alimentodelachinita, @aprildstomr, @sharimassey11, @samsamgayle, @pdxploration, @olivesandline, @nmohler, @trendscaping, @namerz99, @kachkapdx, @hivenapa, @foodbellypdx, @famously_hungry, @cichlisuite93, @thesusegadcook, @mrprettyugly, @juniperrows, @ethammasouk, @heartpdx, @ashleyyaskew, @brianahurst, @thebigfoodiepdx, @michael_jo_gorofola, @jamsetter, @eatinginarizona, @dineandflash, @candicemariacrawford

Anna Hezel

Anna Hezel is the senior editor of TASTE.

[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>