Cookbook review: 'The Bonne Femme Cookbook'

Shrimp roasted with garlic, scallions, and tarragon atop French green lentils is just one of many quintessentially French meals in 'The Bonne Femme Cookbook' by Wini Moranville.

By , Blue Kitchen

  • close
    Shrimp roasted with garlic, scallions, and tarragon atop French green lentils.
    View Caption

For all the complex, multi-stepped recipes that give French cuisine its daunting reputation, everyday French home cooking is filled with countless utterly simple dishes as perfect and impressive in their own way as the hautest restaurant cuisine.

Wini Moranville’s new book, "The Bonne Femme Cookbook: Simple, Splendid Food That French Women Cook Every Day," proves this with recipe after recipe. La bonne femme is French for “the good wife,” the introduction tells us, but in French cuisine, “it refers to a style of cooking – namely, the fresh, honest, and simple cuisine served at home, no matter who does the actual cooking, femme, mari (husband), or partenaire domestique (significant other).” 

Dorie Greenspan says, “It’s les bonnes femmes who keep the culinary traditions of France alive. Cooking the simple classics and the daily meals that form the canon of the cuisine.” And, she adds, “Wini has given us everything we need to do the same, whether our table is in Paris or Peoria.”

Recommended: 10 pizza recipes

Flipping through our review copy of "The Bonne Femme Cookbook," I could see exactly what Greenspan means. One recipe after another caught my eye, both as something wonderful to eat and something totally doable in the kitchen, honest and non-fussy. I’ve said in the past that if we get one really good recipe out of a cookbook, it’s earned its place on our bookshelves. I can already tell that we’ll be cooking many dishes from this one.

As we slide seriously toward winter, the recipe I decided to make first was of course a summery salad, with room temperature cooked lentils, Belgian endive, watercress, butter lettuce and a mustardy vinaigrette, topped with warm roasted shrimp. I winterized it, though, serving the lentils hot and dispensing with the vinaigrette and most of the greenery (I kept the Belgian endive for its nice bitter edge). The result was a warm, satisfying, season-appropriate dish. No one flavor took over, but occasionally, a bit of tarragon or the crisp greenness of a scallion matchstick would make its presence known, then meld with the other flavors in the dish.

We’ve proselytized for lentils on these pages in the past – most recently when Marion made Turkish Style Red Lentil Soup with Chard. Besides being healthy and quick cooking, they’re just plain good to eat. To cook the French green lentils (Lentilles du Puy) that form the base of this dish, I sautéed some garlic in olive oil, then added the lentils, some water and some salt to the pot and simmered everything. That was it – no stock, no herbs, no onions or other root vegetables. I expected nothing much when I sampled a forkful for doneness from the pot, but they were already delicious.

Roasted Shrimp and Green Lentils
 Serves 2 generously
 Adapted from "The Bonne Femme Cookbook"

2 cups lentils (preferably French green lentils)
 2 tablespoons olive oil
 3 cloves garlic, minced, divided
 4 cups water
 salt and freshly ground pepper, to taste
 3/4 pound large shrimp, shelled and deveined
 1-1/2 tablespoons finely chopped fresh tarragon leaves
 3 scallions, divided
 1 large head Belgian endive

Preheat oven to 400 degrees F.

Rinse, drain and pick over the lentils. Heat 1 tablespoon of the olive oil in a medium-sized saucepan over a medium flame. Sauté half the garlic until fragrant, about 45 seconds. Stir in lentils and add water to the pan. Season with salt and bring to a boil. Reduce heat and simmer, partially covered, until lentils are firm but tender, about 15 minutes.

Meanwhile, roast the shrimp. Toss shrimp with the remaining tablespoon of olive oil in an 8-inch square glass baking dish. Slice the white portion and some of the green top of 1 scallion thinly and add to shrimp, along with tarragon and remaining garlic. Season with salt and pepper and toss to combine. Roast shrimp until just cooked through and opaque, about 8 to 10 minutes.

While lentils and shrimp are cooking, slice the 2 remaining scallions into matchsticks, using the white portions and some of the green tops. Trim the root end of the Belgian endive and halve lengthwise. Cut out tough core and slice the endive crosswise into 1/2-inch slices.

When lentils are done, drain and return to the pot. Stir in the sliced endive and adjust seasonings. Divide lentils between two shallow serving bowls and top with scallion matchsticks. Using a slotted spoon, divide shrimp between serving bowls, spooning over lentils. Serve immediately.

The Christian Science Monitor has assembled a diverse group of food bloggers. Our guest bloggers are not employed or directed by The Monitor and the views expressed are the bloggers' own and they are responsible for the content of their blogs and their recipes. All readers are free to make ingredient substitutions to satisfy their dietary preferences, including not using wine (or substituting cooking wine) when a recipe calls for it. To contact us about a blogger, click here.

Share this story:

We want to hear, did we miss an angle we should have covered? Should we come back to this topic? Or just give us a rating for this story. We want to hear from you.




eZ debug

Clear cache:

Quick settings:

Timing: Jul 09 2014 06:28:07
Script start
Timing: Jul 09 2014 06:28:07
Module start 'content'
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: path in /var/www/ on line 158
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: path in /var/www/ on line 175
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: path in /var/www/ on line 158
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: path in /var/www/ on line 175
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: meta_class_identifier_ms in /var/www/ on line 111
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: meta_class_identifier_ms in /var/www/ on line 111
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: meta_class_identifier_ms in /var/www/ on line 111
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: meta_class_identifier_ms in /var/www/ on line 111
Notice: PHP: E_NOTICE Jul 09 2014 06:28:07
Undefined index: meta_remote_id_ms in /var/www/ on line 1028
Timing: Jul 09 2014 06:28:07
Module end 'content'
Timing: Jul 09 2014 06:28:07
Before parse_includes
Strict: PHP: E_STRICT Jul 09 2014 06:28:07
Non-static method MugoViewExtras::get_view_extras() should not be called statically, assuming $this from incompatible context in /var/www/ on line 37
Warning: eZTemplate:def @ extension/csm_base/design/csm_design/override/templates/extra/archive.tpl:21[1] Jul 09 2014 06:28:07
Variable 'view_extra_node' is already defined.
Timing: Jul 09 2014 06:28:07
After parse_includes
Timing: Jul 09 2014 06:28:07

Timing points:

CheckpointElapsedRel. ElapsedMemoryRel. Memory
Script start 0.0000 sec0.0165 sec 1,285.9922 KB1,162.2344 KB
Module start 'content' 0.0165 sec2.9895 sec 2,448.2266 KB13,093.6875 KB
Module end 'content' 3.0060 sec0.0188 sec 15,541.9141 KB398.7500 KB
Before parse_includes 3.0248 sec0.0479 sec 15,940.6641 KB279.4688 KB
After parse_includes 3.0727 sec0.0008 sec 16,220.1328 KB-189.0703 KB
End 3.0735 sec  16,031.0625 KB 
Total runtime:3.0801 sec
Peak memory usage:22,193.1484 KB

Time accumulators:

 Accumulator Elapsed Percent Count Average
Load cache0.0085 sec0.2745%370.0002 sec
Mysql Total
Mysqli_queries0.2453 sec7.9601%2730.0009 sec
Looping result0.0982 sec3.1860%2630.0004 sec
Template Total3.0215 sec 98.0% 7 0.4316 sec
Template load0.0081 sec0.2643%70.0012 sec
Template processing3.0131 sec97.7610%70.4304 sec
Template load and register function0.0003 sec0.0096%40.0001 sec
state_id_array0.0111 sec0.3601%210.0005 sec
state_identifier_array0.0193 sec0.6272%280.0007 sec
Cache load0.0080 sec0.2579%1340.0001 sec
eZ Find
Search0.0866 sec2.8092%10.0866 sec
Query build0.0820 sec2.6594%10.0820 sec
Class attribute list0.0775 sec2.5150%10.0775 sec
Engine time0.0041 sec0.1325%10.0041 sec
MoreLikeThis0.0000 sec0.0000%00.0000 sec
Sytem overhead
Fetch class attribute can translate value0.0017 sec0.0557%40.0004 sec
Fetch class attribute name0.0013 sec0.0437%120.0001 sec
Image XML parsing0.0075 sec0.2441%40.0019 sec
Instantiating content class attribute0.0001 sec0.0039%140.0000 sec
String conversion0.0000 sec0.0007%30.0000 sec
dbfile0.0022 sec0.0703%660.0000 sec
View Extra building0.0121 sec0.3918%40.0030 sec
Total script time:3.0821 sec

CSS/JS files loaded with "ezjscPacker" during request:


Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/article.tplextension/csm_base/design/csm_design/override/templates/full/article.tplEdit templateOverride template
27content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezimage.tpl<No override>extension/csm_base/design/csm_design/templates/content/datatype/view/ezimage.tplEdit templateOverride template
9content/datatype/view/ezxmltags/link.tpl<No override>extension/csm_base/design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
36content/datatype/view/ezxmltags/emphasize.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/emphasize.tplEdit templateOverride template
4content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
20content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
2content/datatype/view/ezxmltags/promotion.tpl<No override>extension/csm_base/design/standard/templates/content/datatype/view/ezxmltags/promotion.tplEdit templateOverride template
1content/datatype/view/ezstring.tpl<No override>design/standard/templates/content/datatype/view/ezstring.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>design/standard/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
1content/datatype/view/ezbyline.tpl<No override>extension/csm_base/design/csm_design/templates/content/datatype/view/ezbyline.tplEdit templateOverride template
1content/datatype/view/ezobjectrelationlist.tplcontent/datatype/view/story_images.tplextension/csm_base/design/csm_design/override/templates/content/datatype/view/story_images.tplEdit templateOverride template
1content/datatype/view/eztext.tpl<No override>design/standard/templates/content/datatype/view/eztext.tplEdit templateOverride template
1content/datatype/view/ezstring.tplcontent/datatype/view/image_credit.tplextension/csm_base/design/csm_design/override/templates/content/datatype/view/image_credit.tplEdit templateOverride template
1content/datatype/view/ezxmltext.tplcontent/datatype/view/story_info_box.tplextension/csm_base/design/csm_design/override/templates/content/datatype/view/story_info_box.tplEdit templateOverride template
1content/datatype/view/ezmatrix.tplcontent/datatype/view/ezmatrix_article_related_external_links.tplextension/csm_base/design/csm_design/override/templates/content/datatype/view/ezmatrix_article_related_external_links.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/csm_base/design/csm_design/templates/pagelayout.tplEdit templateOverride template
1modules/mugo_view_extras/extra_cached.tpl<No override>extension/mugo_view_extras/design/standard/templates/modules/mugo_view_extras/extra_cached.tplEdit templateOverride template
1setup/debug_toolbar.tpl<No override>design/standard/templates/setup/debug_toolbar.tplEdit templateOverride template
 Number of times templates used: 114
 Number of unique templates used: 19
 Time used to render template usage: 0.0006 secs