All 1,219 passengers and 460 crew members will be kept on board the Ocean Dream, which is now moored off Venezuela's Margarita Island.
Authorities stopped passengers from leaving the Spanish-owned ship after three crew members tested positive for the virus.
"After the virus was detected in crew members, the boat must now stay in quarantine until June 24", said state health official Jorge Alchaer.
Eleven more crew members are now reported to have symptoms.
The nationalities of the passengers on board the ship are not yet known.
The ship was next due to arrive in Barbados but shipping agents in Bridgetown have denied the liner entry to the island's port.
Many of the small islands in the eastern Caribbean depend on cruise ship arrivals to help support their vulnerable economies.
Venezuela has so far reported 52 cases of swine flu - none has been fatal.
Last week the World Health Organisation declared the virus a global pandemic that has spread to 74 countries.
More than 140 people have died from the virus while some 30,000 cases have been diagnosed worldwide.