March 23, 2020
Beans, Beans, Let’s Talk About Beans
Article-newsletter-march23

In these troubled times, when home cooking has become more and more a method of survival, beans are starring in the role they were born to play.

Joe Yonan is the food and dining editor of the Washington Post. It’s a big job, covering an outstanding food city, so it’s pretty remarkable that Yonan finds time in the margins to write cookbooks every couple of years. What is up, Joe! His fourth book, Cool Beans (Ten Speed Press), is a well-researched and nimble collection of recipes revolving around the world’s favorite plant-based protein.

With 125 recipes, Yonan dips into dozens of cuisines around the world, with the eye of a cultural anthropologist and the appetite of a learned home cook—amassing recipes from Armenia and Mexico City to the restaurants of his beloved District of Columbia. It’s a fine collection for any home cook who daydreams about the vast potential of canned or dried legumes: Navy, Pinto, Cannellini, or sacks of Ayocote from Rancho Gordo (more on those guys later).

But in these swiftly changing times, when home cooking has become more and more a method of survival, beans are starring in the role they were born to play: a versatile, flexible, shelf-stable world of possibility. I spoke with Yonan about this most magical of fruits.

First up, how are you doing right now? How has your role as food editor at the Post changed in the past week?
Like so many others, I’m holed up at home, working remotely, trying not to let fear and anxiety about the short and long term overwhelm me. I’m also feeling very fortunate to have a good, stable job with benefits, and I’m so worried about the countless people who aren’t in that situation. We’ve been focused on restaurant and other food-industry workers and businesses because that’s our beat, and my heart goes out to all of them, especially since they have nurtured me and my friends and loved ones my whole life.

Let’s talk beans. But, first, let’s talk canned beans. These are okay to use, yeah?
Yes, they’re more than okay! Canned beans are really one of the world’s great convenience products, right up there with canned tomatoes, but even more nutritious and versatile. They’re perfect when you want to use beans in salads, tacos, purées, soups, stews—really, anything.

But using dry beans (the kind you soak overnight) is legit, too . . . why so?
When you cook beans from dried, you get two amazing products: the beans, of course, which come in so many varieties that aren’t even available canned, but also that incredible cooking liquid, which I refer to as liquid gold. It’s got so much flavor—you can store the beans in the refrigerator or freezer in this liquid, and you can use it to enrich soups, stews, grain dishes—or you can just drink it on its own!

The thing is, though, you don’t really have to soak them. Some of my best-tasting pots of beans have been made with beans I didn’t soak. Especially now, when it’s so easy to cook dried beans in the Instant Pot, cooks should stop thinking that if they didn’t already soak their beans, they somehow can’t have them for dinner.

People have been going bonkers for beans for a while, and many (in and out of the food world) have rallied around the company Rancho Gordo. What’s the magic in their beans?
I’m a Rancho Gordo fanboy from way back, and I have been thrilled to see the rest of the world catch on. The magic in their beans comes down to two things: First, they are working with farmers to grow varieties that haven’t been available for a very long time, if they’ve ever been available in this country, and these varieties all have distinctive qualities that are revelatory for the first-time taster. Second, their beans have all been dried within the last year, so they cook up more quickly and with better texture than beans that are older.

Last question: Why is this book perfect for these imperfect times?
Dried beans are truly the MVP of the pantry. What other protein source has this much nutrition, is this versatile, this affordable—and is shelf stable? I can’t think of one. People have put beans at the top of their stockpiling list during this pandemic, for good reason. But they might not know the best ways to cook and use them, so that’s where I hope they find inspiration in Cool Beans.

This interview has been edited and condensed for clarity.

Cool Beans

4 EXCITING RECIPES FROM COOL BEANS

When Joe Yonan set out to write a book about beans, it wasn’t simply to crack some culinary codes on the way to a better dinner. He put on his reporters hat. “Mexico. India. Nigeria. Israel. China. Italy. Japan. Spain. The United States. Morocco. Peru. It’s hard to think of a country where beans aren’t part of the culinary fabric,” he writes in the book’s intro. It was difficult to pick four recipes that represented the book’s big ambition, but these four jump around a bit and should do the trick with a limited pantry.

Crunchy Spiced Roasted Chickpeas
A handy tip from food-science geek Alton Brown cracks the culinary code for really (truly) crunch spiced chickpeas 

Mung Bean Stew
An India-meets-Israel dish of flavorful stewed mung beans with tahini, onions, spinach, and tomatoes.

Homesteader’s New England Baked Beans
Maine baked beans with…kombu and maple syrup. Joe, this is our kind of recipe.

Tunisian Soup
A fragrant and soothing soup, with a punch of harissa to keep things lively, inspired by Anissa Helou’s incredible book Feast.

Drinking French

MORE COOKBOOKS WE THINK YOU’LL LIKE
If you love comforting diner fare, with a hint of Hudson Valley rusticity, you might want to check out the Phoenicia Diner Cookbook. We recommend the patty melt.

David Lebovitz might be most famous for his writing about baking, ice cream, and chocolate, but in his latest book, Drink French, he gives us a refreshing take on French drinking culture.

In Baking Gold, Jami Curl turns a handful of simple doughs, batters, and icings into more than 75 creative remixes. Make a few of the base recipes now, and you’ll have plenty to riff on all week long.

Susan Spungen, the stylist and recipe developer behind lots of cool Martha Stewart Living and New York Times recipes (like the NYT’s cool holiday cookie interactive feature), has a new book called Open Kitchen, full of colorful, comfortable recipes for casual gatherings—yes, even gatherings happening over Skype.

Each week, we talk to an author of a new or upcoming cookbook we love. Subscribe to our newsletter to get these previews (plus excerpted recipes) in your inbox.

Matt Rodbard

Matt Rodbard is the editor in chief of TASTE and author of Koreatown: A Cookbook, a New York Times best-seller.

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