Batam (BTH) to Semarang (SRG) flights
No airline flies nonstop from Batam (BTH) to Semarang (SRG). The two airports are 707 miles (1,138 km) apart. There are 5 ways to fly it with one stop, through Jakarta, Pontianak and Surabaya and more.
How to fly BTH to SRG: one stop
5 connections, most direct first. 2-stop routings and flight times are in Routes with Pro.
- Via Jakarta (CGK)Garuda Indonesia, Batik Air and 1 more the whole way
IDJT+3
IDQG - Via Pontianak (PNK)Lion Air, then JT
- Via Surabaya (SUB)Lion Air and Citilink, then Wings AirJTQGIW
- Via Kuala Lumpur (KUL)AirAsia the whole way



- Via Balikpapan (BPN), then Lion AirJT
BTH to SRG: common questions
Is there a nonstop flight from BTH to SRG?
No. The most direct way is one stop, for example through Jakarta (CGK) on Garuda Indonesia, Batik Air and 4 more and then Garuda Indonesia, Batik Air and 1 more. This page lists all 5 1-stop options.
How far is Batam from Semarang by plane?
Batam (BTH) and Semarang (SRG) are 707 miles (1,138 km) apart along the great circle, the shortest path a flight can take. Connections add distance on top.
How many miles does BTH to SRG cost?
It depends on the program: each prices the route from its own chart or dynamically. The Award Flight Pricer compares 30+ programs for BTH to SRG with taxes and fees.
Where can I connect between Batam and Semarang?
The most direct connections are through Jakarta (CGK), Pontianak (PNK), Surabaya (SUB), Kuala Lumpur (KUL) and Balikpapan (BPN). On 2 of them the same airline flies both flights, for example Garuda Indonesia through Jakarta.
More routes
Routes are scheduled nonstop flights. The route data is refreshed monthly; this list was last checked November 11, 2026. Seasonal routes and new launches can be missing or end early, so confirm with the airline before you book. Distances are great-circle, the shortest path between the two airports.