Visas are not required by passport holders from Antigua & Barbuda, Argentina, Australia, Austria, Bahamas, Bangladesh, Barbados, Belgium, Belize, Botswana, Brazil, Brunei, Canada, Chile, Costa Rica, Cyprus, Denmark, Dominica, Ecuador, Finland, Fiji, France, Gambia, Germany, Ghana, Greece, Grenada, Guyana, Hong Kong, Iceland, India, Ireland, Israel, Italy, Japan, Kenya, Kiribati, Liechtenstein, Lesotho, Luxembourg, Malawi, Malaysia, Malta, Mauritius, Mexico, Monaco, Mozambique, Namibia, Nauru, Netherlands, New Zealand, Norway, Panama, Papua New Guinea, Portugal, Russia, St. Kitts and Nevis, St. Lucia, St. Vincent and the Grenadines, Samoa(Western), San Marino, Seychelles, Sierra, Leone, Singapore, Solomon Islands, South Africa, South Korea, Spain, Suriname, Swaziland, Sweden, Switzerland, Tanzania, Tonga, Trinidad and Tobago, Turkey, Tuvalu, Uganda, United Kingdom, USA, Uruguay, Vanuatu, Venezuela and Zambia.
A visa can be issued on arrival (for $100) in Jamaica to nationals of Albania, Andorra, Armenia, Azerbaijan, Belarus, Bosnia and Herzegovina, Bulgaria, Croatia, Czech, Estonia, Georgia, Hungary, Kazakhstan, Kyrgyzstan, Latvia, Lithuania, Macedonia, Moldova, Montenegro, Poland, Romania, Serbia, Slovenia, Taiwan, Tajikistan, Turkmenistan, Ukraine, Uzbekistan, Yugoslavia and Macedonia.
Everyone else will need to apply for a visa in advance, they cost around US$100 and take 2 to 3 days. You may be able to get a visa on arrival for US$350 but don't count on it, getting on the plane may not be possible.
Jamaican High Commission London
Jamaica Visa Information
Foreign embassies in Jamaica