Montego Bay Port of Call

Sandy beaches at Ocho Rios © Paul Micallef

The second largest city in Jamaica and its most popular tourist destination, Montego Bay or 'Mo Bay' is abuzz with shopping centres, a variety of inland tourist attractions and beach-side water activities often set against Georgian colonial architecture. Montego Bay offers a great variety of attractions and there are many worthwhile daytrips and excursions out of the city.

The most popular sights are a choice of championship golf courses, the haunted and eerie Rose Hall, and one of the best beaches on Jamaica, the Doctor's Cave Beach with its celebrated crystal clear waters. The 'Hip Strip' is the most popular street for shopping and cocktails and is often the first stop for cruise passengers wanting to investigate the city.

Most cruise ships berth at Montego Freeport Terminal which can accommodate four cruise liners at once. The docks have five berths, two of which are used exclusively for cruise liners and another two used for both cargo and cruise ships, giving the area a bit of an industrial feel. There is a cruise terminal building used exclusively by passengers.


Tel: +876 922 0290

Email: paj@portjam.com


There is a tourist office inside the Montego Freeport Terminal building.


There are many taxis that wait just outside the Montego Freeport Terminal building. JUTA taxis come quite highly recommended. Mini buses are also common and pick up anyone standing by the side of the road when they pass.


The Downtown Mo Bay area is a litany of markets for all kinds of shopping. Doctors Cave Beach and Rose Hall beach club are the most popular beach locations with mineral-rich clear water and every kind of possible water activity, which are also available at Montego Bay Marine Park. Inland are five championship golf courses and great jungle tours through the mountains. Other popular attractions include the supposedly haunted Rose Hall and the Bob Marley Experience in Half Moon Shopping Village.


Margaritaville - An active beach-side sports bar with western food.

Pier on the Waterfront - Open air seafood restaurant on the pier.

Sugar Mill Restaurant - Some Jamaican cuisine specialties in a formal setting.

Best Dish



Both Half Moon Shopping Centre and the City Centre have duty free shops selling luxury items. Multiple craft markets are also in downtown Mo Bay selling an eclectic mix of goods but expect to bargain hard.

Best Buy

Rum and coffee


Visit Croydon in the Mountains

Take a Jamaica Swamp Safari

Do the Caliche Rainforest and Canyon White Water Rafting tours

Explore Falmouth town

Become our Jamaica Travel Expert

We are looking for contributors for our Jamaica travel guide. If you are a local, a regular traveller to Jamaica or a travel professional with time to contribute and answer occasional forum questions, please contact us.




1,923,240 bytes
Loading Time Base Classes  0.1728
Controller Execution Time ( Countries / Index )  0.2639
Total Execution Time  0.4373
No GET data exists
No POST data exists
  DATABASE:  globe_media   QUERIES: 38   
0.0013   INSERT INTO `ci_sessions(`session_id`, `ip_address`, `user_agent`, `last_activity`) VALUES ('ea8b796ddac60b5e5003e455a09d9c91''''CCBot/2.0 (http://commoncrawl.org/faq/)'1419236832) 
0.0023   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0030   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0022   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0005   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0007   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0007   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0005   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0035   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0013   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0034   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0037   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0004   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = '' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0006   SELECT `nameFROM port_of_call WHERE url_name 'montego-bay' 
0.0012   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = 'a:1:{s:4:\"port\";s:11:\"Montego Bay\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0016   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = 'a:2:{s:4:\"port\";s:11:\"Montego Bay\";s:16:\"destination_type\";s:9:\"Countries\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0007   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = 'a:3:{s:4:\"port\";s:11:\"Montego Bay\";s:16:\"destination_type\";s:9:\"Countries\";s:7:\"country\";s:7:\"Jamaica\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0011   UPDATE `ci_sessionsSET `last_activity` = 1419236832, `user_data` = 'a:4:{s:4:\"port\";s:11:\"Montego Bay\";s:16:\"destination_type\";s:9:\"Countries\";s:7:\"country\";s:7:\"Jamaica\";s:13:\"selected_node\";s:12:\"port_of_call\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0018   SELECT *
FROM (`config_categories`)
WHERE `type` = 'left'
AND `parent_category_idIN (SELECT id FROM config_categories WHERE link "/countries")
display_order` != '0'
ORDER BY `display_order
0.0035   SELECT `province_code`, `province_name`, `c`.`country_name`
FROM (`provincesp)
LEFT JOIN `countriesON `c`.`country_code` = `p`.`country_code`
WHERE `c`.`country_name` = 'Jamaica'
ORDER BY `p`.`province_name
0.0030   SELECT rc.id as regions_cities_idrc.region_namerc.major_cityrc.key_regionc.country_namep.province_name  FROM regions_cities rc INNER JOIN countries c ON c.country_code rc.country_code LEFT JOIN provinces p ON rc.province_code p.province_code WHERE c.country_name "Jamaica"  AND rc.major_city AND rc.nfuwt != 1 UNION SELECT rc.id as regions_cities_idrc.region_namerc.major_cityrc.key_regionc.country_namep.province_name FROM regions_cities rc INNER JOIN provinces p ON p.province_code rc.province_code INNER JOIN countries c ON p.country_code c.country_code WHERE c.country_name "Jamaica"  AND rc.major_city AND rc.nfuwt != ORDER BY region_name  
0.0075   SELECT rc.id as regions_cities_idrc.region_namerc.major_cityrc.key_regionc.country_namep.province_name  FROM regions_cities rc INNER JOIN countries c ON c.country_code rc.country_code LEFT JOIN provinces p ON rc.province_code p.province_code WHERE c.country_name "Jamaica"  AND rc.major_city AND rc.nfuwt != 1 UNION SELECT rc.id as regions_cities_idrc.region_namerc.major_cityrc.key_regionc.country_namep.province_name FROM regions_cities rc INNER JOIN provinces p ON p.province_code rc.province_code INNER JOIN countries c ON p.country_code c.country_code WHERE c.country_name "Jamaica"  AND rc.major_city AND rc.nfuwt != ORDER BY region_name  
0.0116   SELECT `r`.`id` as resort_id, `r`.`name`, `r`.`major_resort`, `r`.`attr_ski_chk`, `r`.`attr_beach_chk`, `c`.`country_name`, (SELECT region_name FROM regions_cities WHERE country_code c.country_code AND id r.region_city_code) as region_name
LEFT JOIN `countriesON `c`.`country_code` = `r`.`country_code`
WHERE `c`.`country_name` = 'Jamaica'
AND `attr_ski_chk` != "Yes"
ORDER BY `r`.`major_resortDESC, `r`.`name
0.0036   SELECT `r`.`id` as resort_id, `r`.`name`, `r`.`major_resort`, `r`.`attr_ski_chk`, `r`.`attr_beach_chk`, `c`.`country_name`, (SELECT region_name FROM regions_cities WHERE country_code c.country_code AND id r.region_city_code) as region_name
LEFT JOIN `countriesON `c`.`country_code` = `r`.`country_code`
WHERE `c`.`country_name` = 'Jamaica'
AND `attr_ski_chk` = 'Yes'
ORDER BY `r`.`major_resortDESC, `r`.`name
0.0036   SELECT `iata_code`, `name`, `url_name`, `c`.`country_name`
FROM (`port_of_callpc)
LEFT JOIN `countriesON `c`.`country_code` = `pc`.`country_code`
WHERE `c`.`country_name` = 'Jamaica'
ORDER BY `pc`.`name
0.0010   SELECT *
FROM (`config_nodescn)
JOIN `config_nodes_categoriescnc ON `cnc`.`node_id` = `cn`.`id`
WHERE `cnc`.`category_idIN (select id from config_categories where link "/port_of_call")
ORDER BY `cn`.`position`, `cnc`.`display_order
0.0040   SELECT `id`, `headline`, `via_title`, `via_link`, `body`, `event_date`, `end_date`, `anchor_link`
FROM (`news`)
WHERE `for_pro` = 1
AND `end_date` >  '2014-12-22'
AND `country_code` = (SELECT country_code FROM countries WHERE country_name "Jamaica") 
0.0033   SELECT *
FROM (`tour_operators`)
WHERE `country_code` = (SELECT country_code FROM countries WHERE country_name "Jamaica")
show_in_column` = 1
`show_in_columnDESC, `name
0.0007   SELECT country_code FROM countries WHERE country_name "Jamaica" 
0.0008   SELECT from tourop_list WHERE destinations LIKE '%JM%' ORDER BY id DESC 
0.0009   SELECT `country_code`
FROM (`countries`)
WHERE `country_name` = 'Jamaica' 
0.0182   SELECT d.id AS destination_idd.overview AS destination_overviewd.extended_overview AS destination_extended_overviewd.photo as destination_photod.*, c.*, 'Jamaica' AS country_namepoc.*, LENGTH(CONCAT_WS(d.timed.electricityd.languaged.healthd.tippingd.safetyd.businessd.communicationsd.duty_free)) AS basicsLENGTH(CONCAT_WS(d.embassy_consulate_usd.embassy_consulate_ukd.embassy_consulate_cad.embassy_consulate_aud.embassy_consulate_ird.embassy_consulate_nz)) AS contacts(SELECT money FROM destinations WHERE country_code "JM" ) AS money(SELECT LENGTH(CONCAT_WS(passport_visaentry_req_usentry_req_ukentry_req_caentry_req_auentry_req_irentry_req_nz))
FROM destinations WHERE country_code "JM" ) AS visa(SELECT group_concat(id) FROM public_holiday p WHERE p.country_code "JM" order by p.weight desc) AS public_holiday(SELECT count(*) FROM tour_operators t where t.country_code d.country_code) AS num_tour_ops(SELECT count(id) AS total_rows FROM tourop_list tl WHERE tl.destinations LIKE ("%JM%")) AS num_tour_operators(SELECT group_concat(name) FROM port_of_call pc WHERE pc.country_code d.country_code) AS ports_of_call(SELECT group_concat(region_name) FROM regions_cities WHERE major_city AND nfuwt != AND country_code d.country_code ORDER BY major_city DESCregion_name ASC) AS cities(SELECT group_concat(region_name) FROM regions_cities WHERE major_city AND nfuwt != AND country_code d.country_code ORDER BY major_city DESCregion_name ASC) AS regions(SELECT group_concat(name) FROM resorts WHERE major_resort AND country_code d.country_code ORDER BY major_resort DESCname ASC) AS resorts(SELECT count(*) FROM dmcs WHERE country_code d.country_code) AS num_dmcs(SELECT concat(caption" © "copyright) FROM images WHERE filename d.photo) AS photo_copyright(SELECT count(*) FROM airports ai where ai.nfuwt != AND ai.country_code d.country_code) AS num_airports(SELECT count(*) FROM events e where e.country_code d.country_code AND show_on_country 1) AS num_events(SELECT count(*) FROM activities where region_city_code "0" AND country_code d.country_code) AS num_activities(SELECT count(*) FROM attractions a where a.country_code d.country_code AND show_on_country AND excursion "No") AS num_attractions(SELECT count(*) FROM attractions a where a.country_code d.country_code AND show_on_country AND show_on_kids AND excursion "No") AS num_kids_attractions(SELECT count(*) FROM attractions a where a.country_code d.country_code AND excursion "Yes") AS num_excursions(SELECT phrases FROM phrase_book pb where pb.country_code c.country_code AND phrases != "") AS num_phrases(SELECT count(*) FROM image_bridge ib LEFT OUTER JOIN images i ON ib.image_id=i.id WHERE ib.destination_code c.country_code) AS num_photos(SELECT count(*) FROM hospitals h where h.country_code c.country_code) AS num_hospitals
(destinations d)
LEFT JOIN countries c ON c.country_code d.country_code
LEFT JOIN provinces pr ON pr
.province_code d.province_code
LEFT JOIN port_of_call poc ON poc
.country_code d.country_code
`poc`.`url_name` = 'montego-bay' 
0.0006   UPDATE ci_sessions SET last_activity 1419236832user_data 'a:4:{s:4:\"port\";s:11:\"Montego Bay\";s:16:\"destination_type\";s:9:\"Countries\";s:7:\"country\";s:7:\"Jamaica\";s:13:\"selected_node\";s:12:\"port_of_call\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0005   UPDATE ci_sessions SET last_activity 1419236832user_data 'a:5:{s:4:\"port\";s:11:\"Montego Bay\";s:16:\"destination_type\";s:9:\"Countries\";s:7:\"country\";s:7:\"Jamaica\";s:13:\"selected_node\";s:12:\"port_of_call\";s:6:\"region\";s:11:\"Montego-bay\";}' WHERE `session_id` = 'ea8b796ddac60b5e5003e455a09d9c91' 
0.0044   SELECT i.*, e.fullnamee.bioe.pic FROM interviews i INNER JOIN experts e ON i.expert_id e.id
INNER JOIN countries c ON i
.spatial_id c.country_code WHERE i.interview_type 'country' AND c.country_name 'Jamaica' 
0.0116   SELECT TagID FROM FORUM_DiscussionTags WHERE  Tag 'Jamaica'  
0.0011   SELECT DiscussionID FROM FORUM_DiscussionHasTags WHERE TagID IN (93)
GROUP BY DiscussionID HAVING COUNT(DiscussionID) = 
0.0075   SELECT od.`Name`, od.`DiscussionIDFROM FORUM_Discussion od
                    WHERE od
.`DiscussionIDIN ( 80,348,848,1082,1759,1988,2321,2442,2512,2967,3012,4082,4094,4139,4242,5076,5290,5322,5565,5640,5651,5679,5733,6451,6573,6578,6790,7029,7073,7231,7369,8044,9934,10612 ) ORDER BY od.`DateLastActiveDESC LIMIT 0 15