Be aware that for the most part, you can’t go from the US to Cuba, unless specifically authorized by the government. Most people go to Canada or Mexico and fly from there.
From Wikitravel:
Jose Martí International Airport outside Havana is the main gateway
and is served by major airlines from points in Canada, Mexico, and
Europe. There are also regional flights from other Caribbean islands.
Cuba’s national carrier is Cubana de Aviacion, connecting the island
to a handful of destinations in Mexico, South and Central America,
Canada and Europe.Flights from Miami to Cuba are offered to authorized American
passengers. Try calling Cuba Travel Services (CTS Charters). They
offer daily non-stop flights between Los Angeles and Miami to Cuba.There are also regular holiday charter flights to resorts such as
Varadero, and these can sometimes be less expensive than those going
to Havana.Please note that if you have purchased a oneworld ticket then further
flights into America within that year will be disallowed through
American Airlines.
As for what is the cheapest, that’s hard to answer as airlines change their prices and can’t be answered objectively and accurately as they’re subject to change. In addition, it’s not possible to search for flights on large booking engines (such as Kayak) due to United States travel restrictions. As a result, you need to be creative: use European booking engines or go directly to the airlines’ websites. On a large European booking engine (Skyscanner) you can find flights from Cancun to Havana on combinations of Cubana and/or AeroMexico flights,. The flight time varies from 1 hour 15 min to 13 hours, depending on connections.
Credit:stackoverflow.com‘