By air: SA Airlink operates scheduled flights from Johannesburg to Vilanculos Airport, a short drive from the town centre. Flight time is under two hours. From Maputo, connections usually require routing through Johannesburg. Charter flights also operate from Inhambane and other Mozambican towns — useful for accessing the island lodges.
By road: From Maputo, Vilanculos is around 700km north on the EN1, Mozambique's main north-south highway. The road is paved but in variable condition; allow a full day and don't plan to drive after dark. Chapa (shared minibus) connections run from Inhambane and from Maxixe, though the journey is long and uncomfortable for non-essentials.
To the islands: All island transfers are handled by lodges or local operators in Vilanculos. Most island lodges arrange speedboat or light aircraft transfers as part of their packages — confirm this before you arrive, since independent access to the archipelago is difficult.