Cuernavaca is a fairly well-connected city, and it can be reached by bus from numerous other cities and towns within Central Mexico.
From Mexico City, it can be reached from Terminal de Autobuses del Sur. And in the south of the city, the Pullman de Morelos company offers transport from their small station near Hotel Royal Pedregal. The same company also provides direct transport from the airport.
Coming from Acapulco, you can take the Estrella Roja company or Alta Mar.
And if you’d like to travel in between Cuernavaca and Puebla without having to transfer in Mexico City, the Autobuses ORO company is the only one with direct routes between the two. Their station in Cuernavaca is quite a distance from the center, so you’ll need to take an Uber or taxi there.
Speaking of bus stations, I’ve never seen so many bus stations in a single city as I have in Cuernavaca! It’s normal, of course, for smaller second-class bus companies in Mexico to run their own stations. But in Cuernavaca, I counted at least eight different bus stations, and there still might be more I haven’t discovered!
The locations of all these bus stations become a factor when choosing accommodation, as Cuernavaca makes for a great base for day trips. (See more below.)