By car

Cipularang toll road near Purwakarta.

Purwakarta is along the Cipularang toll road that connects the city to the city of Bandung in the south, and Cikampek in the north. At Cikampek, the toll road connects to other toll roads to the west (Jakarta) and east (Cirebon). Purwakarta is served by the toll road exits at KM 76 and KM 84, with the kilometres counting from Cawang in East Jakarta.

In addition to the toll road, there are major trunk roads from Purwakarta to the east (Subang) and northeast (Pamanukan). Smaller roads connect to the mountainous areas in the southeast, including Lembang and Ciater.

By train

The city’s station is 1 Purwakarta railway station, which is served six times per day by executive/business class trains to Bandung. The executive/business class trains in the other direction, towards Jakarta, do not call at Purwakarta, but there are two such trains per day to Cirebon and one per day to Surabaya (via Cirebon and Semarang).

There are five daily economy class trains to and from Jakarta (Kota or Pasar Senen stations). In the other direction, there are three daily economy class trains to Cimahi, Bandung (does not call at the central station) and Cibatu (near Garut). One of these three trains continues to Tasikmalaya and Purwokerto.

By bus

Most intercity buses stop in Purwakarta at the junction near the Sadang motorway exit (2 Sadang bus stop) at the northern side of the city. There are frequent buses to and from various bus terminals in Jakarta, as well as Bekasi, Bandung, Subang, and Karawang.