Hafnarfjörður sits on the main road between Keflavík International Airport and Reykjavík, so you are likely to drive through it when arriving in Iceland and the FlyBus can stop there if requested. There are also scheduled buses between Keflavík and some of the other towns on the Reykjanes peninsula into Hafnarfjörður. From Reykjavík, it is easy to take the public bus that runs every 15-20 minutes. Route 1 starts from Lækjartorg in downtown Reykjavík and runs through Hafnarfjörður.