There are several sites that have great information about Indian trains. A favorite of mine is www.indiarailinfo.com. If you don’t type in dates, it shows every train that’s leaving from that station and nearby ones on any day. This is useful because most trains don’t run every day. Clicking on the train brings up just about all relevant information about it, including available seats in every class, live tracking, etc. Another click brings the opposite route. You can also see all trains departing from or arriving at any given station. There’s a train atlas. The site also has a huge amount of information collected all in one place.
www/seat61.com is another excellent site with lots of info on Indian trains, as well as trains worldwide.
Go to http://runningstatus.in/ to find out if your train is on time, though it’s not perfectly reliable.
If you go to “Train History” on the same site, you can find out whether it tends to be on time or not. The other day a fellow passenger told me that the train we were on was so consistently 2 hours late that you could just about rely on it. Had I remembered to look it up, I might have booked a different train.
To actually book your tickets, you can go to www.irctc.co.in. They’ve revamped the site so it’s easier to register and use. You do need an Indian mobile to register, as the process requires you to receive an SMS and enter the code for verification. You still need to register even if you want to use www.cleartrip.com for the actual booking, which may be necessary if you want to use a foreign credit card.
There is a train enquiry and live status app you can download, but it’s only for Windows.