There are many ways to get from Puerto Princesa to Coron, by air, by sea, or by land.
There are daily flights from Puerto Princesa to Busuanga airport (the airport of Coron) operated by the main local airlines. The companies flying to Coron are: Cebu Pacific and Philippine Airlines.
There is also a ferry service two times per week, on Saturdays and Wednesdays. The journey is 15 hours long.
By land and sea
Another way to get to Coron from Puerto Princesa is to take a bus from Puerto Princesa to El Nido, and then from El Nido, you can take a ferry to Coron. This is the longest way to reach Coron, but is definitely the more adventurous one, and we strongly recommend it.
From El Nido you must take a ferry, there are ferries every day, and the journey takes about 8 hours. You will arrive at Coron Port, where you can reach Coron town with a tricycle.