There is only one direct bus for this route. Phnom Penh Sorya can take you from Battambang to Kep in 11 hours. An alternate option is to take a bus from Battambang to Phnom Penh first before taking another bus going to Kep. This will take 9 hours, excluding transfers.
Flying will save you some time but will still involve taking 2 taxi rides.
There is only one bus company with a direct route from Battambang to Kep. Phnom Penh Sorya has one day trip and one night trip daily.
The day seating bus leaves at 7:00 from Battambang and arrives at 18:00 in Kep. The night sleeper bus departs at 23:00 and arrives at 11:30 the next day.
The boarding point is at Phnom Penh Sorya Bus Terminal behind Tela Gasoline in Battambang while the arrival point is at Phnom Penh Sorya Bus Terminal near Kep Beach. You can easily book tickets online.
If you prefer to go a little bit faster but do not mind taking two buses, you might want to consider going to Phnom Penh first before taking another bus to Kep. This would take 9 hours, excluding transfers.
We recommend taking a bus that leaves at 7:00 or 8:00 from Battambang so you could transfer to a bus that leaves at 13:00 or 13:30 from Phnom Penh.
Step 1: Battambang to Phnom Penh by Bus
Duration: 5 hours Cost: $10
There are a few buses operating between Battambang to Phnom Penh, but we recommend to travel with Bayon VIP. They receive good reviews and have several morning buses leaving to Phnom Penh.
Mekong Express is also a good company to travel with.