The Cholula archaeological zone is situated about 7 kilometers west of the city of Puebla in the San Ándres Cholula municipality, and marks the area in the center of the city where this municipality begins.
Take Via Volkswagen o Recta a Cholula and Ruta Quetzalcoatl and you will find youself in Cholula after 20 minutes driving.
You will see the Iglesia del Cielo when you will cross La Paz.
You can watch my 2 min 44 sec Video Puebla-Cholula-Puebla out of my Youtube channel.
Take the metro to San Lazaro stop, then get off and look for ADO help desk at the TAPO Bus Terminal that is outside the metro station. Ask for a ticket to Puebla ( around 56 pesos one way). Once in Puebla, take a local minibus that has a Cholula sign on the window ( 5 pesos one way) and get off once you see a huge hill with a yellow hill on top - it's the pyramid.
Attention - while going back make sure you catch a minibus that goes to CAPU Bus Terminal otherwise you will end up like me at some Cholula Bus Station in Puebla and you will be lost! Anyway, even if you get lost like myself, look for the yellow-blue minibuses with a CAPU sign in the window ( 5 pesos one way) and they will take you to the right Terminal. I panicked so much but the local people were so nice and gave me the directions - from the main square ( Zocalo with a fountain with blue tiles ) you walk 2 blocks to get the right minibus. Pueblans are very nice people, so don't get scared!
From Mexico City you can take a bus from Tasquena (southern bus termina) to Puebla (I went with ADO which I believe is the only one going to Puebla . It cost $93 for the luxury bus...took approx 2.5 hours.
Coming back I went to the Tapo bus station instead of Tasquena and it cost $85 pesos and was shorter ride as well.
There are several colectivos from downtown Puebla that ply the roads between Puebla and Cholula. Grab one to see the impressive pyramid.