Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/form-tag.php on line 396

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/form-tag.php on line 388

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/form-tag.php on line 382

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/form-tag.php on line 400

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/wp-db.php on line 3030

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home2/qdgxdzmy/public_html/atozaatar/wp-includes/class-wp-theme.php:9) in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/pixelyoursite/includes/class-pys.php on line 199

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/wp-db.php on line 3030
Foliage: A well earned position on Diner's Club 50 Best Discovery Series. — A TO ZA’ATAR
Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-includes/formatting.php on line 4975

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home2/qdgxdzmy/public_html/atozaatar/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 185

Foliage: A well earned position on Diner’s Club 50 Best Discovery Series.

Foliage: A well earned position on Diner’s Club 50 Best Discovery Series.

Lucky for me, the Diner’s Discovery list for the Middle East and Africa list was announced just before we were due to depart for South Africa.  While there were two restaurants on the list in the country, due to our schedule we were only able to stop at one, and I’m so glad we did.  Foliage, a defined ‘terroir-driven modern South African’ dining experience (a nice play on the ‘forest to table’ concept the restaurant is known for), is a smallish low key venue located on the main street in Franschhoek, located next door to an art gallery.  Although we didn’t have a reservation, we walked in for a late lunch and were immediately shown to a table (although, for the record, I would judge the restaurant to be about 70% full during our visit, even at the end of the season).

Perusing the menu, I was impressed to find a selection of fresh ingredients, as well as a more than an average number of vegan options.  Knowing we were going to be dining at The Tasting Room that evening (and having just come off of The Test Kitchen the night before), we decided to limit ourselves and not order a ton of food (even though it all looked quite nice).  For a starter, I was intrigued by the peanut-crusted and curry pickled kingklip, with onion chutney, marmalade, lemon puree and spring relish, ZAR90.  As tasty as it was, I did share with Hubs.  I appreciated not only the blend of fresh flavors but also the portion size.  For my main, the (vegan) pan fried cauliflower with roasted watermelon glaze, roasted beetroot, and cashew nuts, ZAR160, was intriguing.  While it didn’t exactly live up to Chef Fatih’s brilliant cauliflower, it was still delicious, filling, texturally unique, and made me wonder why more restaurants of this caliber don’t consider vegetarian/vegan options for their guests.

Across the table, Hubs went for the polar opposite of my veggie-heavy dish and ordered Smoked pork shoulder en crepinette, roasted belly, figs & honey roasted turnips, and pig’s salad, ZAR245, and was more or less in pork heaven.  The portion was extremely large and incredibly hearty.  Perhaps it’s because we’re used to the exclusively imported food of Dubai, but the overall freshness of all the ingredients was a welcome change for my palate.

I think what’s noticeable about Foliage is that you would never mistake one of their plates for anyone else’s.  There is a sense of design more present than in almost every other restaurant I’ve been to recently.  While most of the plates were a bit busy for me (simpler presentations are more my thing), I do have to give credit for a wealth of textures and complexity of flavors in each dish we tasted.  I also liked one of the most open plan kitchens I’ve ever had the delight of viewing.  In fact, as I tried to sneak a photo, Chef Chris Erasmus waved merrily from behind the stove.  As we dined, he welcomed people into his kitchen (clearly, the word is out as many of the people around us were just as intent on photographing their food as I was).

Would I go back?  You bet!  In fact, after our experience at The Tasting Room, I’d wished that our dinner at been at Foliage instead.  Keep an eye on this place.  If you’re looking for some of the most authentic South African food in the country, make a plan to visit the restaurant.

Our total for two mains, one appetizer, a GENEROUS pour of white wine, a bottle of water and a Diet Coke was ZAR598.00 — quite reasonable (in case you needed another excuse to visit).
Foliage Restaurant Menu, Reviews, Photos, Location and Info - Zomato
[googlemaps https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3311.1029234341845!2d19.119326851702922!3d-33.91275052867941!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x1dcdbcf5f1313fd5%3A0x43193e3f68166d62!2sFoliage!5e0!3m2!1sen!2sae!4v1491030306648&w=600&h=450]

Leave a Reply

Your email address will not be published.