Nature Air used to offer service to Limon airport but that service no longer exists. So the closest Costa Rican airport to Puerto Viejo is now San Jose.  If you are visiting Panama, there are also airports in Bocas del Toro and Changuinola which you can book boat/ground transport to Puerto Viejo from. 

Best value and one of the easiest ways to get to Puerto Viejo is by public bus.   There are 5 direct buses a day from San Jose.  Cost is just over $8.  Check here for full schedule. Note that buses from San Jose, leave from Caribe Terminal in downtown San Jose. Buses occasionally sell out so consider using a service to book a bus ticket in advance

Do not be afraid to take either Interbus or Gecko Trail Airport Express (vary from $45-55 USD per person from San Jose to Puerto Viejo), as they will pick you up at your hotel or airport (only the airport for the latter) in San Jose and drop you off at the hotel you are staying at in Puerto Viejo. About a 4 to 5 hour trip.  You can view schedules for all the shuttle companies here

Easy Ride shuttle services is a newer service which is very reliable and has timely email response. They offer daily shuttles directly  from SJO Airport to the Caribbean shuttle leaves at 10.00 am and 3.00 pm and from the Caribbean to SJO Airport shuttle leaves at 6.00 am and 3.30 pm rate is only $45 one way per person door to door  directly from/to the airport in modern vans to Cahuita and Puerto Viejo. Easy Ride has new vans, A/C, profesional drivers, fully insured. also they offer a NEW service from the Pacific Coast Uvita, Dominical, Manuel Antonio and Jaco direct shuttles to the Caribbean Beaches (Puerto Viejo and Cahuita) and viceversa for only $79 one way per person

Once in the Puerto Viejo area, you will be able to use your feet as your primary means of transportation. This is the traditional way of getting around on the south Caribbean, as many residents of the area do not drive or own cars. The area is small and since time is a figment of your imagination (daylight hours are 6 am to 7 pm all year round), it is okay to take 10 minutes to walk to your destination. It is also in keeping with the ecologically friendly attitude of this town.

If you didn't opt to rent a car, you can always rent a bicycle or a motorized scooter while in Puerto Viejo.  Bike rentals can cost $US5-10 a day and is a popular option amongst tourists, despite the state of the roads.  Be warned: if you plan on riding from Puerto Viejo southward to the other beaches in Punta Uva or Manzanillo, be ready for a bumpy (and occasionally dangerous) ride!  Cyclists and motorists alike will swerve into the oncoming traffic in an effort to avoid the potholes.

Local unmarked taxis are also a great way to get around.  Check with your hotel for rates and always confirm rate with driver before getting in the car.  You can find local taxi rates here  Please note all rates are based from Puerto Viejo town centre.

There also is some public bus service for Puerto Viejo and surrounding areas.  You can find a full schedule of those services here