March 28, 2017
Buffalo Chicken Has an Italian Cousin
mvf_weblead-1

A chicken dish at Philadelphia’s Res Ipsa is a crash course in the sweet, sour virtues of agrodolce.

Eggplant isn’t supposed to make you cry. But since we can’t control how food makes us feel, any single bite can send us reeling. It happened to Michael Vincent Ferreri, and the timing couldn’t have been worse.

Ferreri, the chef of Philadelphia’s Res Ipsa, was dining for the first time at Zeppoli, an acclaimed Sicilian restaurant a sitcom-length drive away from his Center City coordinates. It was a meet-the-parents meal with his then girlfriend, and the Rochester, New York, native was doing pretty well, making nice with Mom and Dad over wine in the cozy, nonna-fied dining room.

Then arrived the antipasti, an Instagram-worthy menagerie of meats, cheeses, and perfectly primped veggies arranged on a skinny canoe of a plate. The server lavishly name-checked each and every item on hand, landing on one that perked Ferreri up immediately: caponata, the vivid eggplant relish he’d grown up inhaling at family gatherings presided over by his Sicilian great-grandmother, Sara.

“I dug in, put it in my mouth, and immediately starting weeping,” he recalls. “Wet shirt, everything.” And it happened a couple more times, continuing with the rigatoni alla disgraziata through to the sprinkles-studded struffoli that dropped with the check—flavors he hadn’t felt in years, waiting for him in a teeny bedroom community a couple minutes over the PA-NJ border. It brought him back…and messed him up.

Ferreri’s unexpected reaction had just as much to do with himself as the food in front of him that night. Yes, it was a little intense to cry over caponata—“incredibly awkward,” to use his plainer description. But this is how a chef responds to a food epiphany, and it helped put some stuff into focus. Sicilian cuisine, with its worldly spices, versatile pastas, and transportive nature, is what Ferreri wanted to explore. And after stop-offs in Israeli, Basque, New American, and Asian kitchens over his seven years of professional cooking, he’s doing just that at Res Ipsa, which takes its name from the Latin res ipsa loquitur (“the thing speaks for itself”). And the agrodolce chicken, a hit off the restaurant’s small, polished dinner menu, definitely does some talking. The simple but dynamic dish tells you how he got here, whisking Western New York, Southern Italy, and current-day Philly together into a satisfying personal statement.

Michael Ferreri

The eldest of four kids born to married chefs, Ferreri grew up cooking, though it was the eating part of the transaction he most looked forward to, from childhood on up—big family gatherings, when everyone hoarded into the house around 3 p.m. to enjoy food from his late father’s side (aka the Sicilians). Great-Grandma Sara and her husband, Salvatore, came straight from Sicily, bringing techniques for braciola, caponata, and the similarly sweet-and-sour agrodolce, made properly lip-puckering with a sugar-vinegar glaze that turns caramel-thick beneath a rolling broiler.

Though Sara and Salvatore passed when he was in elementary school, Ferreri knew to make permanent room for those flavors in his head. “It was that first thing you know you’re going to remember when you get older,” he says.

Returning to Rochester after college helped Ferreri reconnect with the relatives who were best at those recipes and reacclimated him to the no-frills signatures of his city, like Nick Tahou garbage plates and Country Sweet wings. That last shop’s infamous slather, humbly e-peddled via the URL thebestcookingsauce.com, is just as popular among Rochesterians as a classic Frank’s-and-butter buffalo sauce (and has more in common with Res Ipsa’s chicken than you might think).

During the whole ride up to now, the idea of a reimagined Sicilian agrodolce lingered in Ferreri’s head. Red-sauce Italian-American food, so important to the South Philly psyche, is damn good, but it’s also damn heavy. A move like agrodolce, meanwhile, has the ability to lighten and elaborate, turning a one-note snack into a multisensory meal—the unapologetic jab of straight acid, tempered by flirty hits of sweetness, makes for the best kind of dinnertime dissonance.

At Zeppoli, they give the sweet-and-sour treatment to pork chops or cippolini onions; at home, Ferreri’s family usually did it with rabbit. At Res Ipsa, he decided on chicken after realizing it could double as a nod to his hometown—Country Sweet sauce counts sugar and vinegar as its two most abundant ingredients, meaning it and agrodolce are kissing cousins.

“It’s scarily the same thing,” he says. “I’d had agrodolce rabbit 1,000 times, and I had eaten chicken wings with Country Sweet sauce 100,000 times. But it just never clicked to me.”

Once it did click, Ferreri was able to fully realize the scope of his recipe. Sicilians like to do agrodolce with red wine vinegar and farmers’ honey; Ferreri does his with white sugar, orange blossom honey and white wine vinegar, added to a broth that’s cooked down with aromatics and chicken drippings. But he still coats his meat in the drizzle and finishes it beneath a broiler, blackening the bird’s skin with a crisp, sticky cloak. Those are his shouts to Sicily and Rochester; broccoli rabe and long hots, side dishes that might as well be legal tender among local Italians, welcome his new town into the fold.

Altogether, it’s chicken that covers some serious ground. It might not make you cry, but no one’s judging if it does.

RECIPE: Agrodolce Chicken

Drew Lazor

A Philadelphia-based food and drink writer, Drew Lazor has contributed to Bon Appétit, Condé Nast Traveler, Lucky Peach, The Philadelphia Inquirer, PUNCH, Saveur, and Serious Eats.

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