Most Kilimanjaro treks start out of the towns of Arusha or Moshi in Tanzania. Kilimanjaro International Airport (airport code JRO), located midway between Arusha and Moshi, handles the international flights, while the much smaller Arusha airport (airport code ARK) handles domestic Tanzanian air traffic.
The only regularly scheduled direct flights from outside Africa to JRO are from Europe (Amsterdam and Frankfurt). If you’re arriving from North America or elsewhere, you’ll have to make a transfer in Europe, or else fly into another African city and make a connection.
For most travellers, the most convenient way to get to Kilimanjaro from outside of Africa is to take the daily flight on KLM from Amsterdam (airport code AMS) to JRO. The KLM flight does a loop: leave Amsterdam in the late morning, arrive at Kilimanjaro in the evening (flying time is about 8 hours), short hop to Dar es Salaam (airport code DAR), then back to Amsterdam overnight. KLM and its Sky Team partners (Northwest, Continental, Delta, Air France) have connections to Amsterdam from around the globe.
If you’re flexible about your dates, the discount German airline Condor has some great fares from Frankfurt, Germany (airport code FRA) to JRO. However, they only fly once a week, leaving Frankfurt on Tuesday nights, arriving at JRO on Wednesday mornings, and flying back to Frankfurt (with a stop in Mombasa, Kenya, code MBA) on Wednesdays. Condor has connections to Frankfurt from across Europe, as well as from several North American cities.
Another option to get to JRO is to take Ethiopian Airlines to Addis Ababa, Ethiopia (airport code ADD), then transfer to their daily flight to JRO. Ethiopian Airlines has connections to selected major cities in Europe, North America, and Asia.
You can also fly into another African city, then change airlines for the flight to Kilimanjaro (or else take a long African bus ride!). I don’t like to mix and match airlines too much, as it increases the risk of lost luggage and missed flights.