Figuring out the best time to visit Peru depends on factors like weather, tourist high season, annual events…and where you’re going.
For the coast, I suggest January-March, as that is the time of year it is sunniest (the rest of the year is generally cloudy and gray), with temperatures between 70-80 degrees farenheit.
In the mountains, January, February, and March are the rainy months, which you should try to avoid, if possible.
Finally, if you’re heading to the Amazon, it’s best to go June-August, thereby avoiding the rainy season and the nasty mosquitoes (read: malaria) that go along with it.
Of course, if luck is on your side, you could find sun on the coast in April, with clear skies in the mountains and dry ground in the Amazon.
Karen Ward, another Matador member with local knowledge about Peru, adds this:
Most people when they go to Peru will want to go to the mountains, so best avoid the rainy season. That runs from November to around March-April. So I would suggest May and June and then September. This way you avoid the very busy tourist season (July-August).
For the coast, this is also a good time as the coldest, foggiest, and wettest months are July and August. Dec-Feb have the best weather on the coast but beaches get packed with Peruvians.
My wife and I rented a hostel room in Cuzco for a month in May, 2009.
Days were dry. I remember sitting in my “location independent office” at Norton’s Pub one afternoon and being really confused/surprised when it sprinkled for 5 minutes. It’s easy to forget about rain when you don’t see it for a while.
Nights got chilly — most hostels/hotels should be able to provide a space heater for a couple extra bucks a night.
So, what’s the best time to visit Peru?
Short answer: late-April/May/early-June, or late-August/September