Each city has one or more bus terminals. Every region has several bus lines. You can find out about itineraries and purchase tickets in the terminal. You can also purchase tickets on major bus lines from any travel agent in Mexico. There are often “package deals” combining bus travel and hotel in most destinations with which a travel agent will assist you in finding what is best for you.
There are several ticket aggregators where you can purchase your tickets online and without a hassle, this are newer services and are alike to an expedia.com or kayak.com for bus travel in Mexico.
Some of the most complete online services to buy bus tickets are (in alphabetical order):
Busolinea (in Spanish or English / mobile app available)
Clickbus (only in Spanish / mobile app available)
Reserbus (in Spanish or English / mobile app available)
Ticketbus (only in Spanish/ No mobile app) Note that ticketbus.com (aka boletotal.mex) or ADO don’t accept credit cards from banks in Canada for online booking.
Using these services will allow you to check schedules, compare prices/service and make your purchases in advanced from the top bus lines in the Mexico using your credit card and other forms of payment.
For websites of the other long distance bus companies in Mexico, see http://www.differentworld.com/mexico/.
PS. If you are already in Mexico you can also buy your bus tickets in OXXO stores, there are thousands of them – You won’t miss them!