As has been written about by several people, including a mention in the Lonely Planet, the owner of the chai stall at the bus station is very friendly, and very informative. He knows when all the buses arrive and leave, and also some details about the train schedules too.
He told us that the bus to Satna took 3.5hrs, while the LP guide said 5hrs - and he was actually closer as it took just under 4hrs (although I should point out that normally if you're told a length of time for a journey add at least 20%!).
If you're planning to take a train from one of the nearby train stations (usually either Jhansi or Satna depending on your direction), you can buy tickets in advance from the Train Reservation Office at the bus station.
We bought our tickets the day before, and unfortunately all sleeper class tickets had been sold out for days, but we got 2nd class AC seats from Satna to Varanasi for 625INR each.
We got the bus out to Satna, which takes about four hours, and the scribbling on the back of my tickets suggests that we paid 108rupees for two people. Again it was the children who were most communicative, and we struck up conversation with one lad who wanted to know what sports we liked. We'd decided to say cricket (as neither of us are sports fans, but we know how popular it is in India), and from then on we couldn't get a word in edgeways as he launched into what seemed to be an over by over description of the last years India vs England matches. He was only stopped by the conductor! Bus travel can be great for talking to people!
From Agra, buses leave for the 10-12hr journey to Khajuraho. We caught the bus at 5am, and arrived in Khajuraho just before 5pm. The bus ride is, as everyone will tell you, incredibly bumpy, but this can actually be quite fun (if a little painful for the posterior!) - we had lots of small children on our bus, and their giggles at our reactions were extremely infectious!
The bus stops at various small villages, so there should be plenty of opportunities to grab samosas, pakoras, fresh fruit and drinks from the stalls along the way.
I can't remember the cost of the bus ticket, but I think it was probably 200-250INR - definitely a budget option. It's also the most direct option (other than flying, which we didn't want to do), as trains don't go as far as Khajuraho and you have to change to a bus at Jhansi.
By Plane: Daily flights - Indian Airlines & Jet Airways - connect Khajuraho with Delhi, Agra, and Varanasi. The airport is only about 5 km from most hotels. Airport pickup is available from certain hotels, otherwise taxis or cycle-rickshaws are available. Book flights early; they tend to fill with tour groups during the season.
By Bus: Khajuraho is one of the cities well connected by public and private buses. Private tour service operators arrange deluxe AC and Non AC buses to Khajuraho from various cities including Jhansi (176 km, 4 1/2-5 hours), Delhi (596 km), Agra (391 km, 10-12 hours). Tourist deluxe buses will charge about Rs 3 to Rs 4 per km.
By Train: Nearest railway station to Khajuraho is Mahoba which is located at 63 km from Khajuraho. Harpalpur is another nearby major rail head, which is connected to most of the railhead in India. It is nearly 90 km away from Khajuraho. Pre-paid taxis cost nearly Rs 1200 from Mahoba and Rs 2000 from Khajuraho. Jhansi is the nearest station on the main Delhi line (Delhi, Agra, Bhopal). Satna is not the nearest but is the best station for Varanasi.
By Private Car: If you find other travellers from Agra or Varanasi who'd like to share a taxi it may be a good alternative to other modes of transportation. A car from Varanasi or Agra will take about 8-9 hours and cost approximately Rs 5000.
The 3 temple groups are within an 8 sq km area so walking is not the best option. Renting a bicycle is a great and inexpensive way to get around. Rentals can be found at various places in the village (just look for the signs). Bicycles are not allowed inside the temple complexes so make sure you have a lock.
Another option for getting around is by cycle-rickshaw. Agree on a price before you start off. Make sure that the price includes waiting time while you are at the temples.
Khajuraho has daily domestic flights to and from Agra, Varanasi and Kathmandu.
The nearest railway stations to Khajuraho are Mahoba, Satna and Jhansi. All of these are well connected to most of the major cities of India.
Khajuraho has frequent bus services and good roads to and from the major cities of India including Panna, Mahoba, Satna, Jabalpur, Bhopal, Gwalior, Indore, Agra and Jhansi.
I took a "deluxe" bus from outside Jhansi train station for the 4 hour trip to Khajuraho after visiting Orchha. The bus was pretty much the same as others I'd been on except that the seats were foam cushion seats and not the bone hard ones on previous trips. We left Jhansi on very bumpy roads with the seats beginning to move off their floor mountings and the windows shaking violently. This is meant to be the way to Madhya Pradesh states number one tourist attraction. Some way to take paying tourists. I got into Khajuraho, where I needed a back transplant, at 3pm so the journey took the scheduled 4 hours to do about 180km. I was timing the bus against the distance signs and at one point we were doing an average of 60kph. I got off the bus and my backpack was fetched down from the roof and I paid the guy for doing so. I was immediately surrounded by cycle rickshaw, auto rickshaw and hotel touts. The bus going back to Jhansi was late leaving as the 11.15am scheduled bus was broken down and so when I eventually left at 12.30pm it was crammed full but luckily I got a seat. The journey back took 5 hours, for some reason, as we stopped twice for 30 minutes each. The bus cost Rs100 each way.
After visiting the eastern Jain temples, I cycled down to the last temple near a dried up river but when I got on my bike, the back tyre was flat. A young lad helped me out by taking me to a guy in his 50's who repaired the puncture for me whilst I visited the temple. I said to the young lad about a sketch on Monty Python about everyone dressed up as Superman whilst Michael Palin was a normal guy who repaired bicycle. He was know as Bicycle Repair Man. The young lad laughed and I said it was our English sense of humour. where he was just inserting the inner tube back into the tyre. He then pumped it up and I gave him Rs20 for his trouble and shook his hand and said thanks in Hindi.
As the temple sites are fairly spread out, the best way of getting around is by cycle. There are plenty of places to hire them from and they're very cheap. Mine cost Rs25 for the day from a place near the Shiv Sagar.
This place's at the end of the world. Closest railway station is 100km away.
Getting to Khajuraho:
Air: Indian Airlines and Jet Airways (the two most expensive airlines) still have a monopoly to use the tiny airport of Khajuraho, low-budget airlines have no flights here. So either you pay up and fly or you take train and bus/taxi. Flying here is grossly overpriced, moreover you have to make reservations well in advance.
Train+bus/taxi: If you are coming from the direction of Delhi/Agra/Gwalior you are advised to take the comfortable, safe and efficient Shatabdi or Taj Express to Jhansi. From there you can either take a bus (in off-season they are very infrequent, very bumpy ride and the 180km journey can last 8 to 9 hours) or you pay up and take a taxi. (it should cost no more than 1500-1800.- Rs, haggle hard!) The taxi option is better and lasts only 4,5-5 hours. It is still much cheaper than flying.
Not a simple thing out of season. We wanted to go to Varanasi from here. Air travel was impossible, flights were booked solid for days, and if it hadn't, the tickets would have cost a fortune anyway. There was one bus to Varanasi (15 hours!) but after a bus ride like this you're dead for 2 days. Long-distance bus travel in India is no fun at all. I've tried it, so I know what I am talking about. We could have gone to Satna by taxi (130km) and take a train there but I decided against it because trains from Satna to Varanasi often depart from Mumbai (very far away) and they can be 6 or 8 hours late when reaching Satna. If they are not, Varanasi is still 8 hours away. Satna is town of 200,000, very poor even by Indian standards and waiting 6-8 hours at the railway station of a town like this certainly won't be the highlight of your trip to India. So we took a taxi again to Varanasi. It took almost 9 hours to get to Varanasi city center (cc. 420 km) with the Ambassador and cost 4.500.- Rs. (haggled down from 6.800.- Rs). It was not cheap but there were no other sensible (for us) choices.
There is no railway station close to Khajuraho and if traveling from Delhi by rail you will need to get off at either Mahoba (61kms), Harpalpur (94kms) or Jhansi (172kms). The Mumbai-Allahabad line runs from Mumbai, Kolcutta and Varanasi and stop at Satna (177kms).
Travelling to Khajuraho by air is probably the best option and the quickest. Air India have flights daily from Delhi and link to Agra, Khajuraho and Varanasi and these flights are usually very popular so you need to book in advance. I flew from Varanasi to Khajuraho.
The best way to reach khajuraho from Delhi is by train and bus journey.From New Delhi to Jhansi is by train Shatabdi Express as it took four hour and reach Jhansi at 11.30am .Just at the railway station at Jhansi deluxe buses are availabe for khajuraho.the bus furher takes four hour to rech khajuraho as distance is 175 km and it is a single road.
It cost Rs 95/-only for state Roadways bus and Rs 190 for deluxe bus.
I know it's more expensive, but the roads between Khajuraho and Varanasi can make your life miserable... Our guide adviced us to take a plane and in less than one hour you are in Varanasi... confortable and easy.