Batanes is genuinely remote. There is no ferry service from the Philippine mainland — the only way in is by air, and the only airport is Basco Airport (BSO) on Batan Island.
Philippine Airlines and Skyjet Airlines both operate flights between Manila and Basco. Flights take about 90 minutes. Services are limited to a handful of departures per week, and cancellations are frequent — Batanes sits in the path of typhoons rolling in from the Pacific, and Basco Airport closes without much warning when weather turns bad. Book your flights early but build extra days into your schedule at both ends. Getting stranded in Batanes for a day or two longer than planned is a real possibility, and far from the worst fate in the world.
Once you are in Batanes, inter-island travel between Batan, Sabtang, and Itbayat is by boat. The traditional outrigger vessels are called falowa and they are the main link between the islands. Short boat crossings to Sabtang take about 20–30 minutes from the port at Ivana, south of Basco. The crossing to Itbayat is longer and more exposed, taking around two to three hours in good conditions. Boat schedules depend entirely on the weather and the sea state, and services can be suspended for days at a time. Do not try to island-hop on a tight schedule.