Most visitors arrive via Hat Yai, the regional transport hub 25 km to the west. Hat Yai International Airport has frequent connections to Bangkok (about 1 hour 30 minutes by air) and direct flights from Kuala Lumpur and Singapore. From Hat Yai Airport, shared taxis run directly to Songkhla; the journey takes about 40 minutes. Hat Yai's main bus terminal handles long-distance routes from Bangkok (about 14 hours), Phuket, and other southern Thai cities.
From Hat Yai city centre, songthaews and shared taxis depart regularly for Songkhla throughout the day from the station near the clock tower. The fare is inexpensive and the ride takes 30–40 minutes depending on traffic.
Songkhla has its own small bus station for local routes around the province. There is no direct rail connection to the city — Hat Yai is the nearest railhead, served by trains from Bangkok (around 18–19 hours on overnight services) and from Butterworth in Malaysia.
From the Malaysian border crossing at Sadao (about 50 km south of Hat Yai), shared taxis provide onward transport to Hat Yai and then on to Songkhla.