To travel from Nairobi to Mombasa, you can take the train (SGR), the bus, or you can fly. For most travelers, the SGR train is the best option. It’s reliable, affordable, and easy to use. An economy ticket costs 1500 shillings ($11.60) and the ride takes 6 hours. Flying only makes sense if you’re in a hurry. A flight is far more expensive. The bus doesn’t really make sense anymore. It takes 3 hours longer than the train and costs about the same price.
I recently traveled from Nairobi to Diani Beach. I took the train from Nairobi to Mombasa. From there, I caught a shared taxi down the coast to Diani. The train is modern and relatively comfortable. In this guide, I’ll explain how to take the train from Nairobi to Mombasa, step-by-step.

| Mode | SGR Train | Flight | Bus |
| Time | 6 hours | 1 hour and 10 minutes | 9 hours |
| Cost (KES and USD) | 1500 KES or $11.60 (economy fare one-way). First class costs 4500 shillings ($35) | 6,500-19,000 KES or $50-$150 (one-way) | 1200-2500 KES or $10-$20 (one-way) |
| When you’d use it | Best choice for most travelers. | When you’re in a hurry or if the cost doesn’t matter. | If you need a departure time that isn’t offered by the train. Maybe you want to travel overnight. Or if you prefer pickup and drop-off in the city center. |
Booking Tickets
You can book your ticket online or in person at the station. When you book online, you will enter your passport info and phone number. They will send you a confirmation code over text. You need that code when you go to the station so you can print your boarding pass.
It’s important to note that you can only pay online with M-Pesa. Credit cards aren’t accepted currently. You will need to get a Kenyan SIM and set up M-Pesa first. This is strange because the train is popular among tourists but that’s the way they do it.
The Train Station

The station is called Nairobi Terminus. It is located in the southern part of the city, near the airport. You should arrive at least an hour early because it takes quite a bit of time to check in and get through security.
The easiest way to get there is to take an Uber. Uber is affordable in Nairobi. The ride cost around 1000 shillings from my Airbnb in Riruta. You could also take a matatu (shared minibus).
Security is tight at the station. When you arrive, you will pass through a luggage scanner and metal detector. Your luggage will be lined up for dogs to sniff. You will pass through another scanner and your passport will be checked. It seemed excessive to me. You will need to handle your own luggage throughout the entire process.
You will also have to print your board pass from a machine. You will need to enter your confirmation code that was sent to you when you booked and your phone number. The machine will print your boarding pass.
On our way back from Mombasa, the lines at the boarding pass printer were long. I waited about 30 minutes to print my tickets. They were having an issue with the machines. Luckily, we made it in time. A friend missed her train back to Nairobi because check-in took so long.
The Ride
The ride from Nairobi to Mombasa takes 6 hours. We took the 8am train and arrived at around 2pm. The train departed and arrived on time. It stopped about 6 times on the way. Each stop only lasted about 2-3 minutes. There is also a 3pm and 10pm departure. Those each take around 5 and a half hours.
The ride is relatively comfortable. The train is modern and well maintained. This line just opened in 2017 so it’s pretty new. Everything is well organized.
We took economy class. The seats are not the most comfortable. They do not recline. The train is air conditioned. It was still warm but manageable. There are outlets near some of the seats for charging electronics but not all of them worked. There is a small tray table. The windows have curtains to block the sun.

Seats are assigned. The train was full but not overloaded. One strange thing is that you aren’t able to select your seats when you book. On the way to Mombasa, my girlfriend and I were seated next to each other. On the way back, we were seated on opposite sides of the car. I booked both tickets together for both journeys.
There is plenty of room for luggage. There are large luggage racks above the seats. There is also a luggage closet at the end of each car for large suitcases. This area was pretty small. If you have a particularly large suitcase, try to arrive early to make sure there is space for it.
There is a food cart that passes through the train a few times during the trip. They sell simple sandwiches, chips, tea and coffee, sodas, etc. My girlfriend got a sandwich. I think it was like 300 shillings, if I remember correctly. There are also toilets on both ends of each train car. They were clean.
The ride is somewhat scenic. The train passes through Tsavo National Park. You could spot some animals from the train. I saw a couple of elephants. The landscape is pretty flat and dry. You’ll pass through a few small towns along the way.
Mombasa Terminus to Town
The train drops you off at Mombasa Terminus. The station is located about 13km to the northwest of the city, near the airport. There are a few ways to get to the city center from the station.
There is a commuter train that runs from Mombasa Terminus to Mombasa Railway Station, in the CBD. A ticket costs 50 shillings ($0.40) and the trip takes about 40 minutes. The commuter train departures line up with the Madaraka Express train arrivals.
You could also take a taxi or rideshare. Uber and Bolt operate in Mombasa. This trip will take around 30-45 minutes depending on traffic. An Uber from Mombasa Terminus to the city center costs around 1000 KES ($7.75).
There are also matatus (shared minibuses). The trip takes 45 minutes to an hour, depending on traffic and how many stops the bus makes along the way. The matatu costs around 400 KES ($3).
Mombasa Terminus to Diani Beach
Our destination for this trip was Diani Beach. We took a shared taxi from Mombasa Terminus. To find a taxi, just leave the station and follow the crowd. You’ll see a bunch of taxis and guys selling seats.
The ride from the train station to Diani Beach costs 500 shillings ($3.86). This only covers transport to Ukunda, which is a commercial area near Diani. They charge an extra 200 KES ($1.55) to take you all the way to Diani Beach. The total price is 700 KES or $5.41. You can pay with cash or M-Pesa.
The taxi ride took around 50-60 minutes. It was comfortable and air conditioned. We took the highway all the way to Diani. We did not use the Likoni ferry. This saved time. The taxi dropped us off just down the road from our Airbnb.
If you choose to take a taxi, try to get off the train and find a taxi relatively quickly. They can fill up. If you miss all of the taxis, you may have to take a more expensive mode of transportation. There was plenty of room for luggage in the taxi.
You can also take an Uber or Bolt from Mombasa SGR Terminus to Diani Beach. This trip will cost 2500-4500 KES or $20-$35.

Final Thoughts
The train is the best way to travel from Nairobi to the Kenyan Coast, in my opinion. It’s reliable, fast, and affordable. I don’t really see a good reason to take the bus. The flight isn’t worth the extra expense to save a couple of hours. I rode economy class and it was fine. Next time, I’ll probably try first class to get a more comfortable seat.
If you’re traveling around East Africa, check out my other transport guides:
- How to Travel from Nairobi to Kampala by Bus
- How to Travel from Entebbe to Kampala
- Taking the Bus from Addis Ababa to Nairobi
Zachary Friedman is an accomplished travel writer and professional blogger. Since 2011, he has traveled to 68 countries and 6 continents. He founded ‘Where The Road Forks’ in 2017 to provide readers with information and insights based on his travel and outdoor experience. Zachary is also an avid cyclist and hiker. He is currently based in Entebbe, Uganda. For more information on his journey and background, visit the About page. For inquiries and collaborations, please reach out through the Contact page. You can also follow him on Facebook.
