Vitello Saltimbocca
4
servings
Main
Course
Print Recipe
Ingredients
Directions
Ingredients
8
slices veal scaloppini, pounded very thin (or veal cutlets-preferable from the veal top round)
Jump
8
thin slices prosciutto (large enough to cover the entire piece of veal)
Jump
24
sage leaves (3 for each piece)
Jump
4 tbsp
extra virgin olive oil
Jump
4 tbsp
butter
Jump
4
bay leaves
Jump
All purpose flour, for coating
Jump
¼ c
white wine
Jump
¾ c
demi-glace
Jump
2
eggs, hard boiled and sliced in 4 (place 1⁄2 egg- 2 slices on each plate)
Jump
Demi-glace
3 ½ lb
veal bone
Jump
2
carrot
Jump
2
stalks of celery
Jump
1 lg
onion
Jump
2
leeks
Jump
2
cloves garlic
Jump
1
bay leaf
Jump
1 tsp
black peppercorn
Jump
4
sprigs parsley
Jump
1
sprig fresh thyme
Jump
Salt and pepper
Jump

Saltimbocca, literally translated, means “jump in the mouth” so you know this classic dish is a tasty one! If you do not purchase the veal scaloppini (cutlets) already pounded, you will have to do this step yourself. Chef Pietro does it between two sheets of plastic, because: “That’s how we do it Italian-style. I do this with my eyes closed!” He then repeats this step after adding the prosciutto and sage leaves.

Directions

Demi-Glace
  1. Preheat oven to 400°F.
  2. Place the veal bones in a roasting pan. Roast the bones for 45 to 60 minutes, until the bones are dark brown. Transfer the bones to a large stockpot. Add water to the roasting pan and scrape any brown bits from the pan; transfer this liquid to the stockpot.
  3. Add the carrots, celery, onion, leeks, and garlic to the stockpot. Place the bay leaf, peppercorns, parsley, and thyme in a piece of cheesecloth and tie into a bundle. Place the herb bundle in the stockpot. Add enough water to generously cover all the ingredients.
  4. Place the pot over medium-high heat and bring to a boil. Skim the surface of any scum and oil as it appears. Once the liquid comes to a boil, decrease the heat and simmer for 5 to 6 hours, adding more water if needed to keep all the ingredients covered.
  5. Remove the bones and vegetables from the stockpot with a slotted spoon and discard. Carefully pour the liquid through a fine mesh strainer into another stockpot. Cool the stock and refrigerate overnight.
  6. Remove any solid fat from the stock. Reheat the stock to use it, seasoning it with salt and pepper. Or stock can be portioned into containers and frozen for future use.
  7. To make demi-glace, place the stockpot over medium-high heat and bring to a boil. Decrease the heat to medium and continue to simmer until the stock has reduced to a thick liquid that will coat the back of a spoon. Cool and refrigerate. Demi-glace will be firm and can be cut into 1/4- or 1/2-cup portions and frozen for later use.
Veal Saltimbocca
  1. If pounding the veal yourself, place between 2 sheets of plastic on a clean work surface. Using a meat mallet, pound the cutlets lightly until very thin.
  2. Remove top layer of plastic and place a slice of prosciutto on each piece of veal. Top each slice with 3 sage leaves. Place the plastic back on top, and lightly pound again to adhere
  3. In a large skillet, heat the olive oil and 3 tablespoons of butter over medium-high heat. Add the bay leaves.
  4. Place the flour on a large plate. Dredge each scaloppine in the flour and lightly coat. Be sure to shake off any remaining flour, -” you do not need too much,” says The Chef.
  5. Add the veal to the pan and cook until nicely browned, about 1- 2 minutes per side. You might need to do this in batches if there is not enough room in the pan.
  6. Remove pan from the heat and add the wine and demi-glace. Cook for another 1- 2 minutes. If the sauce has not thickened, remove the veal and set aside. Allow the sauce to reduce by half for 3 minutes.
  7. Stir in the remaining tablespoon of butter, reduce heat until sauce thickens slightly.
  8. Place the scaloppine on warm plates. Pour the sauce on top and top with hard- boiled egg slices.
  9. Serve immediately with a side of spinach!

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