May 2, 2019
A Special Spicy Miso Sauce for Not-Special Home Cooking
MisoSauce0019

Hiroko Shimbo’s primal utility sauce is good for the freezer, and best when brought out for surprise inspiration.

I want recipes that last.

Ones that stand the test of time, yes. More though, I desire recipes that, when cooking for myself, have a life beyond the pan in front of me. An example: Most cookbook pasta recipes are portioned for four people. When I am intrigued by one of those recipes and, in assessing, realize that this silky chicken ragù or that spiky olive-cauliflower sauce will keep for a few days, I cook the recipe’s full amount. I could upend the given ratios for fewer servings. Economy of time says otherwise. The math is simple: same effort; more meals.

I also like my recipes versatile. Leftovers are admirable. But this approach is not about eating the same precise meal day after day. My goal is expansiveness. This chicken ragù could be turned into soup; that olive-cauliflower sauce could be spooned on garlicky toast mounted with ricotta. A lot made of a little.

The author. With potato.

It is rare to find a cookbook that organizes itself around recipes that are both long-lasting and multipurpose. Hiroko Shimbo’s Hiroko’s American Kitchen does.

Shimbo, a notable author and teacher of Japanese cooking in the United States, assembled Hiroko’s American Kitchen into six chapters. Each surveys a different baseline staple of Japanese cuisine. Chapter 6 focuses on Spicy Miso Sauce. The sauce comprises six mere ingredients: dark miso, sugar, mirin, sake, fresh lemon juice, red pepper flakes. You cook them together and store the result in the freezer. For months. The result is precisely as you imagine. Dank. Rich. Bright. Chile-hot. Sweet.

Shimbo provides 23 recipes with which to put that primal sauce to use: traditional Japanese braised daikon radish; shrimp scampi funkified with the sauce; peanuts coated in curry powder and the sauce then baked; crisp potato chunks and bacon pieces slicked with still more sauce.

Those potatoes are straightforward. You boil them and cook the bacon. You crisp the potatoes in the rendered fat, then add the miso sauce and finish with chopped parsley. No complications. The potatoes are elemental, in the manner of home fries with ketchup. Sophisticated too. The kicky sauce zips, accentuating without overpowering. The Japanese are better at most everything. Including potatoes.

The remains of a batch of Shimbo’s Spicy Miso Sauce is in my freezer now. It goes thick in the cold but never solid. All the easier to spoon it into dishes on a whim. I have added it to fried rice. I have seasoned a gingery beef ragù with it. I have no clear sense of how or when I might use it next.

I want more recipes and books like Shimbo’s in my kitchen, in my life. I want efficiencies, but I want them with breathing room. Room to play. The beneficent fixity of a steadfast recipe interlocked with the freewheeling bliss of kitchen improvisation. 

Ingredients

  • 2 pounds Yukon Gold potatoes
  • 8 slices of bacon (5 ounces)
  • 3 tablespoons Spicy Miso Sauce
  • 2 tablespoons water
  • ½ cup chopped parsley
  • Spicy Miso Sauce
  • 1 cup brown or red miso
  • ½ cup plus 1 tablespoon sugar
  • ¾ cups mirin
  • ¼ cup plus 2 tablespoons dry sake
  • ¼ cup fresh lemon juice
  • 1-2 teaspoon red pepper flakes

This punchy, versatile sauce keeps well in the freezer. Pull it out and spoon some into a range of dishes: fried rice; braises; soups. It plays very well with others—and lasts for months.

    Spicy Miso Sauce

  1. Place the miso, sugar, mirin and sake in a saucepan and whisk until smooth. Place the saucepan over medium heat and bring to a simmer. You don’t want it to boil hard.
  2. Cook the mixture, stirring occasionally, for about 4 minutes. You want to merge the flavors without cooking them for too long. An exact cooking time is not important. Add the lemon juice and cook, stirring occasionally, for about 8 more minutes. Again, the cooking time need not be exact. Turn off the heat, add the red pepper flakes and stir. Let cool then transfer the sauce to a freezer-friendly container. Store in the freezer for at least a few months.

Potatoes with Bacon

  1. Fill a saucepan large enough to boil the potatoes in to a boil. Salt the water so it tastes almost as salty as the ocean. Meanwhile, clean the potatoes and cut them into 1 to 1½-inch pieces. Add the potatoes to the boiling water, reduce the heat, and simmer until the potato pieces are just tender. Drain the potatoes.
  2. Meanwhile, cut the bacon slices crosswise into ¼-inch-wide pieces. Heat a large skillet over medium heat and when hot, add the bacon pieces. When the bacon’s fat has begun to render, reduce the heat to low and cook, stirring frequently, until the bacon goes crisp. Using a slotted spoon, transfer the bacon pieces to a small bowl. Increse the skillet heat to medium and add the potatoes, stirring them with the bacon fat well, and cook until most of the potatoes’ surfaces are golden. Return the bacon pieces to the skillet and cook with the potatoes, stirring well, for about 2 minutes. In a small cup, add the miso sauce and water and whisk well. Add the sauce mixture and the parsley to the skillet and cook while stirring for about a minute. Serve.

Scott Hocker

Scott Hocker is a writer, editor, recipe developer, cookbook author, and content and editorial consultant. He is currently the editor in chief of liquor.com and was previously the editor in chief of Tasting Table.

[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://www.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://www.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>