From Havana I booked the trip to Varadero through the provider Gaviota directly at Hotel Manzana in Havana, a taxi got me there in around 2.5 hours. Cheaper options are shared taxis or coach buses (around $25 per person, mornings between 8 and 11:30am), a private taxi costs around $90. The VIAZUL bus is the cheapest, but tickets are often sold out a day ahead. My tip from a slightly annoying personal experience: check the departure time on your return ticket carefully, mine had the wrong time noted, I missed the bus and had to spontaneously arrange a taxi for $90. The refund was complicated too, since card machines for that are rare in Cuba. There's also a passport check along the way, the peninsula isn't freely accessible to locals without a residence or job there.