Dressed Eggs with Fried Parsley
Ingredients
Directions
Oil-Poached Garlic or Shallots
15
garlic cloves, peeled, or 3-4 medium shallots, sliced thinly
Jump
2 c
canola or grapeseed oil
Jump
Egg Candy
1 tbsp
oil from Poached Garlic or Shallots or canola or grapeseed oil
Jump
1 tsp
fresh marjoram or rosemary leaves
Jump
6
capers, minced
Jump
6
anchovy fillets, minced
Jump
2
Poached Garlic cloves
Jump
pinch of crushed red pepper flakes
Jump
1 tbsp
grated lemon zest
Jump
2 tbsp
olive oil, or just enough to loosen and moisten the mixture
Jump
Croutons
1
slice bread, about 1 inch thick
Jump
2 tbsp
olive oil
Jump
kosher salt
Jump
Fried Parsley
1 tbsp
canola oil
Jump
¼ c
picked fresh flat-leaf parsley
Jump
Assembly
4
eggs, boiled for 7 1/2 minutes, peeled, and cut in half
Jump
Dressed Eggs with Fried Parsley

Why do I call them dressed eggs? Well, it all started at the restaurant one night, when I was headed down the stairs to make a mayonnaise, thinking we’d run a French classic called oeufs mayonnaise that night. Oeufs mayonnaise is simply boiled eggs garnished with mayonnaise and usually served with lettuce and/or herbs. I had the ingredients on hand for what I imagined would be a take on an herb mayo to accompany the boiled eggs: some capers, anchovies, and herbs. Midway down the stairs, I asked myself, “Why does this need to be a mayo? I can dress the eggs with those ingredients and leave out all the extra fat.”

That night we served the hard-boiled eggs with a piquant herbaceous dressing that is somewhere at the intersection of gremolata, chimichurri, and paradise. We liked it so much that in our kitchen shorthand it quickly became “egg candy,” and thus it is called to this day. You would not be misguided if you decided to double or triple the candy to have it on hand for grilled vegetables, grilled meats, or grilled anything. Truthfully, there are few things that can’t be improved with a little egg candy. Ideally, make it a few hours before serving so that the olive oil picks up the mix of flavors.

4 eggs

Oil-Poached Garlic or Shallots
  1. Preheat the oven to 225°F.
  2. Put the garlic or shallots in a small ovenproof saucepan and add the oil. Place in the oven.
  3. Check after 45 minutes; if the garlic or shallots mash easily with a fork, they ’re done. If not, set your timer for another 15 minutes and keep at it until the garlic or shallots are very soft. Let cool, then store in the refrigerator. The garlic or shallots should keep well in the oil for a few weeks, which is far beyond the time it will take for you to use them up if you make them part of your cooking.
Egg Candy
  1. Film a small skillet with the 1 tablespoon oil and heat over medium-high heat. Add the rosemary and marjoram and fry for about 30 seconds; as soon as the leaves start to color, remove from the pan.
  2. Chop the herbs and put them in a small bowl. Add the capers, anchovies, garlic, red pepper flakes, and lemon zest and mix well, then add enough olive oil to give the mixture the consistency of a runny pesto. Taste for deliciousness. The flavors should be intense.
Croutons
  1. Pull the bread apart with your fingers; the pieces should be just a little smaller than chocolate chips.
  2. Set a large skillet over medium-high heat, add the oil and bread, and stir constantly until the croutons are mahogany in color; manage the temperature as necessary so the oil never smokes. Pour the croutons and oil into a strainer set over a bowl, then spread the croutons out on a paper towel. After a minute, toss the croutons with salt to taste.
Fried Parsley
  1. You can use the same oil and pan in which you cooked the croutons. Heat the oil and check it with your laser thermometer if you have one; the ideal temperature for frying parsley is 320°F. Scatter the parsley in the pan and fry cook, about 30 seconds. Transfer the parsley to a paper towel.
Assembly
  1. Arrange the eggs on a plate or small platter just big enough to hold them snugly. (Eggs are slippery and like to move around on the plate, so if they are packed in tight, they ’ll stay put until you serve them.) Dab about a half teaspoon of egg candy on each yolk. Scatter the croutons, if using, over them. Garnish with the parsley, sprinkle with flaky salt, and eat.

Excerpted from HOW TO DRESS AN EGG © 2020 by Ned Baldwin and Peter Kaminsky. Photography © 2020 by Hirsheimer & Hamilton. Illustrations © 2020 by Gerardo Blumenkrantz. Reproduced by permission of Rux Martin Books/Houghton Mifflin Harcourt. All rights reserved.

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