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
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).
[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]