Most travelers reach Subic Bay by road. Official Subic tourism guidance describes the Subic Bay Freeport Zone as about a two-hour drive from Manila via the North Luzon Expressway (NLEX) and Subic-Clark-Tarlac Expressway (SCTEX), exiting toward Tipo/Subic.
If you are traveling without a car, buses run Manila to Olongapo (for example Victory Liner and Saulog Transit are commonly cited), then you can transfer by jeepney, tricycle, or taxi into the Freeport zone. Budget travelers often report fares a little over PHP 200 for the bus leg, but pricing can change.
By air, both Manila (MNL) and Clark (CRK) can work for international arrivals. For chartered flights, Subic Bay International Airport (SFS) is sometimes used.
By sea, routes can include a Manila to Bataan ferry (then road transfer) and ferries from the Subic waterfront to Grande Island for day trips.