Home Travel Abu Dhabi in five days: mosques, museums, races and more
Travel - January 8, 2025

Abu Dhabi in five days: mosques, museums, races and more

Abu Dhabi in five days: mosques, museums, races and more

I wanted to sleep on the 12-hour flight home from Abu Dhabi last month, but my mind was too busy flipping through all the sights and sounds and tastes that populated my brief sojourn there.

I had spent five days exploring this emerging metropolis, zigzagging from one site to the next. I was always doing something: eating, walking, spectating, kayaking, swimming, shopping, sightseeing…I visited as part of an organized trip introducing a handful of international journalists to the multiple and varied allurements of the capital of the United Arab Emirates. The pinnacle of the trip? The final race of the season, the Formula 1 Etihad Airways Abu Dhabi Grand Prix, which takes place each December at the Yas Island Marina Circuit.

Abu Dhabi is not new – yet it isn’t old, either. There is a sense of beginning here, with the most awe-inspiring institutions and cultural hubs all dating from this century. There is but one structural vestige of its past as a pearl-diving and fishing settlement (and it’s a must-visit).

Today, Abu Dhabi is a vibrant 21st-century hub, a cultural crossroads, a visual masterpiece, a bastion of play and delight – and I barely scratched the surface. If you find yourself there, be sure to take advantage of as many of its offerings as possible. For Abu Dhabi is active and alive.

And it’s just getting started.

  • When to arrive: Direct flights into Zayed International Airport from the USA arrive throughout the day. I advise arriving later in the day, so you can check into your hotel soon after you touch down. 
  • How to get from the airport: Take a taxi or an Uber; if you’re looking to save money, there is also a bus. The same options apply for getting around town. You can also rent a car and drive yourself.
  • Where to stay: I stayed at the stunning Erth Hotel, housed in the former Armed Forces Officers Club. I loved the beautiful beach and pool area, and the delicious dining options – including Al Rimal’s divine and never-ending breakfast buffet (two words: donut wall). Emirates Palace Mandarin Oriental is an iconic property with a legendary spa and one-Michelin-starred Hakkasan. And the W Abu Dhabi Yas Island is the world’s only hotel located on an F1 racetrack.  
  • What to pack: Conservative clothing for mosque visits, activewear for parks and activities, comfortable shoes and swimwear for the beach. Don’t forget a dressier outfit for dining out.

Day 1: Touching down and settling in

Erth Hotel interior, Abu Dhabi

Welcome to Erth, a former military officer’s club turned hotel, 15 minutes from Zayed International Airport. Brekke Fletcher/Lonely Planet Brekke Fletcher/Lonely Planet

Afternoon: This is an acclimation day, so after you settle in, go for a swim. It’s the absolute best way to stave off jet lag and feel like you’ve arrived. 

Evening: I had dinner at one of the hotel’s casual dining spots, Ergon, which serves Greek and other Mediterranean cuisine. I sat outside next to the water, ordered some meze and just settled into the scene. 

Day 2: Off to the track

Exception: The parser function of type "canto_diptych" is not defined.
Define your custom parser functions as: https://github.com/shuqikhor/editorjs-html-php#extend-for-custom-blocks in /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php:70
Stack trace:
#0 /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php(17): edjsHTML::parse_function_error('canto_diptych')
#1 [internal function]: edjsHTML::parse_block(Array)
#2 /code/web/modules/custom/editorjs_custom_plugins/src/Parser/CustomParser.php(27): array_map(Array, Array)
#3 /code/web/modules/custom/aws_event_pipeline/src/Mappers/v1/ArticleMapper.php(126): Drupal\editorjs_custom_plugins\Parser\CustomParser::parse(Array)
#4 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(168): Drupal\aws_event_pipeline\Mappers\v1\ArticleMapper->toAwsPayload(Object(Drupal\node\Entity\Node))
#5 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(151): Drupal\aws_event_pipeline\AwsFormatter->getPayload(Object(Drupal\node\Entity\Node), Array)
#6 /code/web/modules/custom/aws_event_pipeline/src/AwsEventSync.php(174): Drupal\aws_event_pipeline\AwsFormatter->getAwsMessage(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent), Array)
#7 /code/web/modules/custom/aws_event_pipeline/src/EventSubscribers/EntityEventSubscriber.php(146): Drupal\aws_event_pipeline\AwsEventSync->sendToAws(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent))
#8 [internal function]: Drupal\aws_event_pipeline\EventSubscribers\EntityEventSubscriber->onEntityUpdate(Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#9 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#10 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(231): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Entity\EntityEvent), 'entity.update')
#11 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(900): Drupal\Core\Entity\EntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node))
#12 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(579): Drupal\Core\Entity\ContentEntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node))
#13 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(781): Drupal\Core\Entity\EntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true)
#14 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(504): Drupal\Core\Entity\ContentEntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true)
#15 /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\node\Entity\Node))
#16 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\node\Entity\Node))
#17 /code/web/core/modules/node/src/NodeForm.php(270): Drupal\Core\Entity\EntityBase->save()
#18 [internal function]: Drupal\node\NodeForm->save(Array, Object(Drupal\Core\Form\FormState))
#19 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(114): call_user_func_array(Array, Array)
#20 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(52): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object(Drupal\Core\Form\FormState))
#21 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(597): Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object(Drupal\Core\Form\FormState))
#22 /code/web/modules/contrib/autosave_form/src/Form/AutosaveFormBuilder.php(144): Drupal\Core\Form\FormBuilder->processForm('node_article_ed…', Array, Object(Drupal\Core\Form\FormState))
#23 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(325): Drupal\autosave_form\Form\AutosaveFormBuilder->processForm('node_article_ed…', Array, Object(Drupal\Core\Form\FormState))
#24 /code/web/modules/contrib/autosave_form/src/Form/AutosaveFormBuilder.php(97): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\node\NodeForm), Object(Drupal\Core\Form\FormState))
#25 /code/web/core/lib/Drupal/Core/Controller/FormController.php(73): Drupal\autosave_form\Form\AutosaveFormBuilder->buildForm(Object(Drupal\node\NodeForm), Object(Drupal\Core\Form\FormState))
#26 /code/web/core/modules/layout_builder/src/Controller/LayoutBuilderHtmlEntityFormController.php(39): Drupal\Core\Controller\FormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch))
#27 [internal function]: Drupal\layout_builder\Controller\LayoutBuilderHtmlEntityFormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch))
#28 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#29 /code/web/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#30 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#31 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#32 /code/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#33 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#34 /code/web/modules/contrib/redirect_after_login/src/RedirectMiddleware.php(44): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#35 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Drupal\redirect_after_login\RedirectMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#36 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#37 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#38 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#39 /code/vendor/asm89/stack-cors/src/Cors.php(53): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#40 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Asm89\Stack\Cors->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#41 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#42 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#43 /code/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#44 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#45 {main}

Morning: I woke up and went straight to another hotel restaurant, Al Rimal, to indulge in their superb breakfast buffet – a smorgasbord that alone is worth the 12-hour flight. Think Benedicts, fruit, yogurt, cereal bar, fresh eggs and omelets, a selection of breads (including chabab, an Emirati pancake) and dreamy little jars of creamy, sweetened iced coffee.

How to spend the day: Since we were there for the Formula 1 finale race, our first day was a day at Yas Island Circuit. Because we were guests, we were given gratis Paddock Club pre-race access to the track and pit lane – which included stepping foot on the tarmac to board a flatbed truck and take a lap around the track. Afterward, we got the chance to see the cars and crews up close, as they calibrated each vehicle and practiced tire-changes. (Tickets for this experience are available, and can run close to US$1000).

We enjoyed a hosted lunch at CÉ LA Vie, a pop-up (the original restaurant is in Dubai) at Yas Marina Circuit. With a bird’s-eye view of the track, we could hear the blaring sound of the race cars whizzing by while sipping on ice-cold wine. I stood up frequently to watch the drivers take their practice runs.

Evening: One of the showstopping elements of attending the Abu Dhabi Grand Prix weekend is the Yasalam After-Race concert series: four nights of shows with some pretty major artists. To get access, fans reported to the Yas Island Marina Circuit early, where staff handed out a limited number of bracelets providing access to the shows (even weekend ticket holders must queue). This year’s shows featured Maroon 5, Eminem and Muse. The events are jammed and jamming, and while beer prices are through the roof, if you’re a fan of big-ticket live music, you can’t do much better.

Day 3: Kayaking, lunching and a dose of history

Exception: The parser function of type "canto_collage" is not defined.
Define your custom parser functions as: https://github.com/shuqikhor/editorjs-html-php#extend-for-custom-blocks in /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php:70
Stack trace:
#0 /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php(17): edjsHTML::parse_function_error('canto_collage')
#1 [internal function]: edjsHTML::parse_block(Array)
#2 /code/web/modules/custom/editorjs_custom_plugins/src/Parser/CustomParser.php(27): array_map(Array, Array)
#3 /code/web/modules/custom/aws_event_pipeline/src/Mappers/v1/ArticleMapper.php(126): Drupal\editorjs_custom_plugins\Parser\CustomParser::parse(Array)
#4 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(168): Drupal\aws_event_pipeline\Mappers\v1\ArticleMapper->toAwsPayload(Object(Drupal\node\Entity\Node))
#5 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(151): Drupal\aws_event_pipeline\AwsFormatter->getPayload(Object(Drupal\node\Entity\Node), Array)
#6 /code/web/modules/custom/aws_event_pipeline/src/AwsEventSync.php(174): Drupal\aws_event_pipeline\AwsFormatter->getAwsMessage(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent), Array)
#7 /code/web/modules/custom/aws_event_pipeline/src/EventSubscribers/EntityEventSubscriber.php(146): Drupal\aws_event_pipeline\AwsEventSync->sendToAws(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent))
#8 [internal function]: Drupal\aws_event_pipeline\EventSubscribers\EntityEventSubscriber->onEntityUpdate(Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#9 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#10 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(231): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Entity\EntityEvent), 'entity.update')
#11 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(900): Drupal\Core\Entity\EntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node))
#12 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(579): Drupal\Core\Entity\ContentEntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node))
#13 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(781): Drupal\Core\Entity\EntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true)
#14 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(504): Drupal\Core\Entity\ContentEntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true)
#15 /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\node\Entity\Node))
#16 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\node\Entity\Node))
#17 /code/web/core/modules/node/src/NodeForm.php(270): Drupal\Core\Entity\EntityBase->save()
#18 [internal function]: Drupal\node\NodeForm->save(Array, Object(Drupal\Core\Form\FormState))
#19 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(114): call_user_func_array(Array, Array)
#20 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(52): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object(Drupal\Core\Form\FormState))
#21 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(597): Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object(Drupal\Core\Form\FormState))
#22 /code/web/modules/contrib/autosave_form/src/Form/AutosaveFormBuilder.php(144): Drupal\Core\Form\FormBuilder->processForm('node_article_ed…', Array, Object(Drupal\Core\Form\FormState))
#23 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(325): Drupal\autosave_form\Form\AutosaveFormBuilder->processForm('node_article_ed…', Array, Object(Drupal\Core\Form\FormState))
#24 /code/web/modules/contrib/autosave_form/src/Form/AutosaveFormBuilder.php(97): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\node\NodeForm), Object(Drupal\Core\Form\FormState))
#25 /code/web/core/lib/Drupal/Core/Controller/FormController.php(73): Drupal\autosave_form\Form\AutosaveFormBuilder->buildForm(Object(Drupal\node\NodeForm), Object(Drupal\Core\Form\FormState))
#26 /code/web/core/modules/layout_builder/src/Controller/LayoutBuilderHtmlEntityFormController.php(39): Drupal\Core\Contro

festivals & events art and culture destination practicalities tips & advice

Author Of article :

Read full article

Leave a Reply

Your email address will not be published. Required fields are marked *

thirteen − 4 =

Check Also

Japan is using yoghurt to tackle loneliness

The yoghurt delivery women combatting isolation in Japan مصدر …